Relying on a Roslyn-based custom-built file code model, this new version of CodeMAP is perfectly accurate, immensely faster as related to the standard CodeMAP, with an impeccable notification system (regions included!) and almost imperceptible UI thread overhead.
Internal code structure made easier to understand - that's what code flow lines is all about. Fully customizable in terms of colors and opacities, soon customizable in terms of line style. Blocks of code can be collapsed by click and if you need to emphasize a code flow line for an instant then Alt+Click will temporarily increase the pen width.
This is an example of a C# 'switch' statement with a collapsed block. And of course these are persistent, i.e. after restart or when closing and reopening a code document, previously collapsed blocks will be picked up by the engine.
Simple enough: highlighters! Available from a popup when you hover the mouse cursor over a text selection. As you will see in the CodeSMART main menu, keyboard accelerators are also available for both highlighting and clearing a highlight.
And, before you ask, yes, they are persistent. Highlight, close document or Visual Studio, open and bingo, they're back. Until you decide to clear them yourself.
This is familiar to those of you coming from CodeSMART 10 and VS10x Editor View Enhancer, but with some twists: different formatting for types, constructors, regular methods and properties, even different formatting for regular private vs regular public methods. Not to mention region names are now part of the family :-) Once you use this you will never want to go back to the standard Visual Studio code highlighting!
Attributes are definitely a very powerful thing - however, when they run in packs you begin wondering where the real type definition line (for example) is. Dimming attributes in terms of color and/or font size (customizable of course) can truly be a godsend in such cases.
If you have ever wondered what that closing bracket is from, then this feature is for you. Of course, it also works in VB, and because it uses the same Roslyn-powered file code model, you won't even notice when it asks for a CPU cycle. Click the On/Off switch on the top-right of the above screenshot. Of course you don't need further explanations! Works perfectly with C# and VB.
Size can be specified per-line in terms of small, xsmall, large, xlarge. And line color in terms of two classic highlights for now (red and magenta). Plus this feature can be combined with inline formatting as explained in the paragraph immediately above!
Inserting separator lines can be extremely helpful in putting some order in larger files. Or even smaller ones - it's a feature that can speed up code navigation tremendously by placing visual hints here and there, of different colors and different pen widths.
How about a find-in-files with a revolutionary results highlighting system, i.e. results are highlighted depending on the whole word where the match is located. In the above example, matches of "document" in "WithDocumentationMode" are highlighted differently than those in "documentationMode" or "CommonWithDocumentationMode", because, of course, they may be of a completely different significance, isn't it? Also, each result line also comes with context, i.e. dimmed versions of the two previous and two next lines are also displayed (can be turned off), which get aggregated if necessary, i.e. you will never see unnecessary repetitions...
Now, what about noise in search results? In the above example, maybe you are not interested in matches in "documentation", but they're there anyway and they are obviously cluttering the output. Right click on such a match in the result list and you can add an exclude filter either for that instance only, or for all instances in that whole word! Or maybe you only want to see results in "documentation" without executing a new find - again, right-click on such a match and you can define an include filter based on that.
CodeSMART Core ships with a predefined set of options - however, you can change them in order to make everything fit your needs and visual preferences. We've spent a lot of time to make all features highly customizable - just take a look at some sections in the 'CodeSMART Core - Options' dialog box: