Codist
A visual studio extension which enhances syntax highlighting, quick info (tooltip), navigation bar, scrollbar, display quality, and brings smart tool bar with code refactoring to code editor.
Install / Use
/learn @wmjordan/CodistREADME
Codist
Codist is a Visual Studio extension which strives to provide better coding experience and productivity for C# programmers. Codist 是一个致力于为 C# 程序员提供更佳的编码体验和效率的 Visual Studio 扩展。
Features
Here's a brief but not complete demonstration of Codist's enhancement to Visual Studio.

Check out this list to see what Codist can do for you.
- Advanced Syntax Highlight ANY LANGUAGES, and Comment Tagger highlights
to-dostyle comments
- Super Quick Info with extended XML Doc, symbol tool-tips, selectable contents, appearance customization, etc.

- Navigation Bar with a drag-and-drop and filter enabled member list

- Smart Bar with common edit commands, C# code refactoring and symbol reference analyzers

- Scrollbar Marker draws a powerful mini code map

- Auto Changing Version Numbers
- Display Enhancements
- Jump List Shortcuts
- Auto Pair Punctuations
- Codist in Your Language
- Others
- Comprehensive Configurations
- Acknowledgements
- License, Bugs and Suggestions, Donate
Codist supports localization into other languages and it has both English and Chinese now.
Advanced C# Syntax Highlight
The advanced syntax highlight function highlights every aspect of C# language elements with diverse styles, including using various font families and text styles, underline styles, enlarging or shrinking font sizes, changing foreground or background colors and transparency.
You can change syntax highlight styles in any languages, such as Visual BASIC, F#, SASS, and so on, even if they are not recognized by Codist.
The following screenshots of the TestPage.cs file in the source code project demonstrates possible syntax highlight effects in the Light theme.

- The font size and font family for each syntax style can be changed, so it is much easier to spot them. This feature is helpful for color-blind people.
- Syntax highlight can be applied to braces and parentheses.
- Various syntax identifiers have different styles, temporary elements such as method parameters and local variables are italic,
staticsymbols are underlined. - Comment content can be tagged (e.g. todo, note) and highlighted with individual style.
- Unnecessary code can be marked strike-through.
- Keywords are categorized and highlighted with various styles (e.g.
abstractandsealed,returnandthrow, etc.). - Overriding members (such as
ToString) can be painted with gradient background color, so at a glance we know that the marked implementations have overridden their base classes. - Imported symbols (from external assemblies, e.g.
NotImplementedException,ToString) can be marked with a different style (bold here), distinguishing from symbols defined in your code. - All the above styles are customizable.
Default Syntax Highlight Themes
To quickly get started with advanced syntax highlight, open a C# project, then click the Customize Codist Syntax Highlighting command under the Tools menu.
A window will pop up, click buttons at the left side of the dialog under the Predefined themes and see changes in effect. The styles on the right of the dialog immediately lists effects of corresponding syntax elements. Don't forget to click the Save button at the bottom of the dialog to confirm the changes.

With the Save and Load buttons, you can backup and share your own syntax highlight settings.
If you mess up your syntax highlight styles, you can press the Reset button to reset all settings to default, or reapply predefined themes by clicking buttons at the left bottom.
Note: There is a known issue in Codist that if you change the theme of Visual Studio, you may have to restart it to make syntax highlight settings to work properly. If the Reset button does not work, please try restarting Visual Studio.
Customization of Syntax Highlight Styles
To customize and tweak the desired syntax highlight styles, click or select the text in the document window, and click the Customize Codist Syntax Highlighting command under the Tools menu.
The customization window will pop up and listing syntax classifications applied to the active text.

Click the style in the Syntax Styles list, adjustment controls will be displayed at the bottom of the dialog, where you can change the style. As you change the style, you can immediately see how it appears in the code document window.

Underline styles can be customized. Firstly assign a color for the Line, afterwards, more configuration elements will appear.
If you want to change another syntax element, click on the place where it is applied in the code document window. If the customization window is still opened, and the Selected Code section under Syntax Categories is selected, the list will display the corresponding syntax styles for the place you clicked immediately.
You can explore other syntax categories by clicking the list on the left of the dialog.
Syntax definitions in the All languages section will list all syntax styles for any languages installed; those under Tagged comments section apply to comment taggers, others apply to corresponding languages accordingly.
Note: Font size is relative value to editor default font size. Partially checked checkboxes denote default syntax styles are used.
A Side Note for Editor Font: You may consider substituting the font used by Visual Studio code editor with professionally designed fonts for programming, for instance, IBM Plex Mono, Fira Code, etc. Employing MacType can significantly enhance system-wide textual display quality, especially for Chinese, Japanese and Korean programmers.
My Symbols and External Symbols
Codist can identify symbols which are defined in your source C# code and which are imported from external assemblies. This feature is so unique that you may not find it elsewhere.
You can customize it in the symbol markers section under the C# section in the Syntax Highlight Configurations dialog. Style C#: User symbol is used for symbols from your code, and C#: Metadata symbol is used for symbols imported from external assemblies.
Note: some predefined themes have defined external symbols with bold style, as the above screenshot shows.
Comment Tagger and Styles
-
The comment tagger highlights comments to your specific styles, according to the first token inside the comment.
Here are the effects how they are applied.

To configure the comment tags, which identify comment types, click the tags section, under the Tagged comments section in the Syntax Highlight Configurations dialog, where you can add, remove or modify comment tags.

To disable comment tagger, open the Options dialog, find the Codist/Syntax Highlight section and uncheck the check box labeled Enable comment tagger in the Syntax Highlight option page.
Custom Syntax Highlight
From version 8 on, it is possible to use regular expression to highlight any code files, including the Output window pane.
Details can be read on the Wiki Page.
Super Quick Info
The quick info (the tool-tip shown when you hover your mouse pointer on your C# source code) can be enhanced by Codist.
General Quick Info
To customize the Super Quick Info, adjust the settings in the options page.

Options in the General page apply to all code editor windows.
-
Hide Quick Info until Shift key is pressed
By default, Quick Info appears when you hover your mouse over a symbol or syntax token in code editor. Some programmers think this behavior interferes their workflow. Checking this option will suppress the Quick Info until Shift key is pressed.
-
Selection info
This option will show how many characters and lines in your selection (if your selection spans over multiple lines). So you don't have to count characters one by one.

-
Color info
This option enables you preview color values. It works for hex color values (such as
#0a0,#00FF00,#33993300), named colors (such asBlack,White, etc.). The 12 sample blocks under color values list the color as the foreground or background against various gray scale colors to help designers to determine the best readability.
In C# code editor, Codist can also analyze system colors (such as
SystemColors.WindowColor,SystemColors.Control, etc.),
