Friday, October 14, 2016

Experimenting with Code highlighting as to a Tool to make reading/Debugging easier

Not something for everyone to have such a heavily colored and marked editor. but I had been looking forward to doing it for a long time, finally, I took some time to design the colors and fonts etc for my Code editor to help me debug and make my code more readable as well as to quickly be able to visually track what's happening.

Why had i to do this?

I am a visual coder and often dream in code and like to code in my head, these colors are also supposed to carry over into my thinking and soon become attached to what they represent, to make most of reading the code a visual instinct exercise.

Basic Changes

  • Font used: Ubuntu Light (yes the official ubuntu Linux font, I find it more readable that other fonts, since it emphasizes the basic shapes of the letter instead of small things like the top curve of J etc) you can get it from here: http://font.ubuntu.com/
  • Colors based on how important a specific code element is when you are reading code. For example, Method calls if easily spotted can give you a quick glance into the FLOW of the code and what's actually happening.
  • Similar abstract concepts should have similar shades

I wrote these two small quick scripts to showcase most(Not all) of the changes.





Tools Used
  • Visual Studio
  • Resharper (VS plugin) (Use ReSharper lexicon reading to color your highlights)
  • SuperCharger (Vs Plugin) (Don't forget to turn off any color changes this one does, but use its flow lines and Contextual Size changes)

Details
  • Structs and Classes colored differently (for those who are somewhat interested in Stack vs heap allocation stuff)
  • Parameters Colored to catch most Attention
  • Method Calls colored to catch most Attention
  • Classes colored to gain Medium Attention
  • Local variables colored to catch High Attention
  • Special attention was given to making Linq Queries more readable
  • Attributes made Smaller in font size.

Conclusion

Overall i feel i have achieved what i set out to do, but i can sense it can be improved further, but only after a few months of using this setup will i try to further improve it.

I hope you guys liked this post. All comments, suggestions etc are welcome. (its a new blog, looks unbaked i know) you can also like this blogs sister Facebook page at Facebook Page