Skip to content

Commit

Permalink
Version 3.8:
Browse files Browse the repository at this point in the history
+ C# symbol marker
+ Color Quick Info
+ Better themed interface
- Fixed crashes
  • Loading branch information
wmjordan committed Sep 18, 2018
1 parent 2ea94fd commit 26ece6b
Show file tree
Hide file tree
Showing 14 changed files with 30 additions and 23 deletions.
2 changes: 1 addition & 1 deletion Codist/CodistPackage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ namespace Codist
/// <para>The project consists of the following namespace: <see cref="SyntaxHighlight"/> backed by <see cref="Classifiers"/>, <see cref="SmartBars"/>, <see cref="QuickInfo"/>, <see cref="Margins"/>, etc.</para>
/// </summary>
[PackageRegistration(UseManagedResourcesOnly = true, AllowsBackgroundLoading = true)]
[InstalledProductRegistration("#110", "#112", "3.7", IconResourceID = 400)] // Information on this package for Help/About
[InstalledProductRegistration("#110", "#112", "3.8", IconResourceID = 400)] // Information on this package for Help/About
[Guid(PackageGuidString)]
[ProvideOptionPage(typeof(Options.General), Constants.NameOfMe, "General", 0, 0, true)]
[ProvideOptionPage(typeof(Options.SuperQuickInfo), CategorySuperQuickInfo, "General", 0, 0, true, Sort = 10)]
Expand Down
2 changes: 1 addition & 1 deletion Codist/Margins/CSharpMembersMargin.cs
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ internal void Render(DrawingContext drawingContext) {
var memberLevel = 0;
var memberType = CodeMemberType.Root;
var lastLabel = Double.MinValue;
SnapshotPoint rangeFrom = default(SnapshotPoint), rangeTo = default(SnapshotPoint);
SnapshotPoint rangeFrom = default, rangeTo = default;

foreach (var tag in tags) {
if (_Element._Cancellation.IsCancellationRequested) {
Expand Down
2 changes: 1 addition & 1 deletion Codist/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@
[assembly: AssemblyCulture("")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("3.0.0.0")]
[assembly: AssemblyFileVersion("3.7.0.2057")]
[assembly: AssemblyFileVersion("3.8.0.2068")]
2 changes: 1 addition & 1 deletion Codist/source.extension.vsixmanifest
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<PackageManifest Version="2.0.0" xmlns="http://schemas.microsoft.com/developer/vsx-schema/2011" xmlns:d="http://schemas.microsoft.com/developer/vsx-schema-design/2011">
<Metadata>
<Identity Id="Codist.WMJ.c7b93d20-621f-4b21-9d28-d51157ef0b94" Version="3.7.0.2034" Language="en-US" Publisher="WMJ" />
<Identity Id="Codist.WMJ.c7b93d20-621f-4b21-9d28-d51157ef0b94" Version="3.8.0.2068" Language="en-US" Publisher="WMJ" />
<DisplayName>Codist</DisplayName>
<Description xml:space="preserve">A Roslyn-powered C# coding experience enhancer with advanced syntax highlight, Super Quick Info (code tooltip), Smart Bar, Code Structure Markers on scrollbar, comment tagger, and more.</Description>
<MoreInfo>https://github.com/wmjordan/Codist</MoreInfo>
Expand Down
43 changes: 25 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,38 @@
# Codist
*Codist* is a visual studio extension which strives to provide better coding experience for C# programmers. It features:
*Codist* is a visual studio extension which strives to provide better coding experience for C# programmers.

# Features and screenshots

* Advanced syntax highlight with *comment tagger*
* Super Quick Info with *Click and Go* to source code
* Smart Bar (**new in version 3.0**)
* Smart Bar (**new in version 3.0**) with symbol reference analyzers
* Scrollbar markers
* Extra margin between lines

![Feature overview](doc/preview.png)

# Features and screenshots

## Advanced C# syntax highlight

The advanced syntax highlight function highlights every aspect of C# language elements with various styles and font settings, changing font style sizes, changing background and foreground colors, making text semitransparent.

The following screenshots of the `TestPage.cs` file in the source code project demonstrates possible syntax highlight effects.

* The font size of type and member declarations can be enlarged, so it is much easier to spot them.
* Interface, Class, Struct and Enum names have different colors.
* Some elements, such as `Enum` names, `virtual` or `override` members, can be painted with specific style, indicating that they are special.
* The attribute declarations can be dimmed.
* Static fields have underlines.
* Syntax highlight can be applied to braces and parentheses.
* Various syntax identifiers have different styles.
* Comment content can be tagged.
* Unnecessary code is marked strike-through.
* Control flow related keywords (`return`, `throw`, `break`, `continue`, `yield` and `goto`) are highlighted with a different style.
* Abstraction related keywords (`sealed`, `override`, `virtual`, etc) can be highlighted with an other style.
* Keywords are categorized and highlighted with various styles.
* Overriding methods (such as `ToString`) can be painted with gradient background color.
* All the above styles are customizable.

![Syntax highlight](doc/highlight1.png)
![Syntax highlight](doc/highlight2.png)
![Syntax highlight](doc/highlight3.png)
![Syntax highlight](doc/highlight1.png)

**NOTE**: To quickly get started with advanced syntax highlight, navigate to the *Syntax Highlight* section, click the *Light theme* or *Dark theme* button in the *options* dialog and see them in effect. Don't forget to click the *OK* button to confirm the change.

![Load Theme](doc/load-theme.png)

To customize and tweak the syntax highlight effects, click the *common syntax* tab in the *syntax highlight* section, or click the sub sections inside the *Syntax Highlight* section to change individual styles, accordingly.
To customize and tweak the syntax highlight styles, click the *common syntax* tab in the *syntax highlight* section, or click the sub sections inside the *Syntax Highlight* section to change individual styles, accordingly.

![Style customization](doc/syntax-highlight.png)

Expand All @@ -50,8 +47,9 @@ The quick info (the tooltip shown when you hover your mouse pointer on your C# s
The default quick info built in Visual Studio can be enhanced with:
1. Size restriction
2. Click and go to symbols
3. XML Documentation override, with XML Doc inheritance, `<return>` exposure
4. Hide Quick Info until Shift is pressed
3. XML Documentation override, with XML Doc inheritance, `<return>` and `<remarks>` displayed
4. More info like selection length, color preview, etc.
5. Hide Quick Info until Shift is pressed

* **Size restriction**

Expand Down Expand Up @@ -81,7 +79,7 @@ The quick info (the tooltip shown when you hover your mouse pointer on your C# s

![Super Quick Info 12](doc/super-quick-info-12.png)

It is possible to show documentation about the `<return>` values.
It is possible to show documentation about the `<returns>` and `<remarks>` content.

![Super Quick Info 13](doc/super-quick-info-13.png)

Expand Down Expand Up @@ -121,6 +119,10 @@ The quick info (the tooltip shown when you hover your mouse pointer on your C# s

![Super Quick Info 9](doc/super-quick-info-9.png)

* **Color info** shows colors as you hover on a name that might be predefined color values.

![Super Quick Info - Color](doc/super-quick-info-color.png)

## Comment tagger and styles
* The comment tagger highlights comments to your specific styles, according to the first token inside the comment.

Expand All @@ -140,7 +142,8 @@ The quick info (the tooltip shown when you hover your mouse pointer on your C# s

The scrollbar can mark...

* C# `class`/`struct`/`interface`/`enum` **declarations** (marked with the first two capitalized characters in their names)
* C# `class`/`struct`/`interface`/`enum` **declarations** (marked with a square and their names)
* C# symbol references (marked with an aqua square)
* C# instructions (`#if`, `#else`, `#region`, `#pragma`) (marked with a gray spot)
* **Line numbers** (marked with gray dashed lines and numbers)
* Special comments (marked with small squares)
Expand All @@ -159,6 +162,10 @@ Buttons on the *Smart Bar* changes from contexts.

![Smart Bar](doc/smart-bar-2.png)

From version 3.7 on, when you select a symbol and click the *Analyze references...* button, a menu will pop up showing possible symbol reference analysis commands.

![Smart Bar Symbol Analysis](doc/smart-bar-symbol-analysis.png)

# Feature control
Open the *Codist* section in the *Tools->Options* dialog. In the *General* section you can toggle features of *Codist*.

Expand Down
2 changes: 1 addition & 1 deletion TestProject/TestPage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ abstract partial class AbstractClass : IInterface
public virtual void VirtualMethod() { } // virtual method
void IDisposable.Dispose() { } // explicit interface implementation
}
sealed class ConcreteClass : AbstractClass
sealed class ConcreteClass : AbstractClass, IInterface
{
// note hover on the "{" below to see line count of this method block
/// <summary>
Expand Down
Binary file modified doc/csharp-options-xmldoc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/highlight1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/load-theme.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/smart-bar-symbol-analysis.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/super-quick-info-10.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/super-quick-info-7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file modified doc/super-quick-info-8.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/super-quick-info-color.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 26ece6b

Please sign in to comment.