SyntaxEditor - Bookmark Indicators

by Avatar Bill Henning (Actipro) - 2 comments
Thursday, March 7, 2013 at 1:40pm

BlogPostBanner

One of the feature areas we're adding to WPF and Silverlight SyntaxEditor controls is the ability to create indicators, which are special "tagged" regions of text that optionally display a glyph in the indicator margin or highlight the text range with special styles.

Several built-in indicator types will come with SyntaxEditor, one of them being bookmarks.

Bookmark Indicators

Bookmarks are line-based indicators, meaning they associate themselves with a single line of text.  Even as the line gets edited, they remain associated with a single full line.  They move around with the same logic found in Visual Studio's code editor.

Let's see what they look like:

Bookmarks

In this screenshot, we show three bookmarks rendered in the indicator margin on the left.  Our default implementation of bookmarks only renders glyphs in the margin, and doesn't highlight the marked line in the text area in any way (but you could optionally do this too if you wanted).

The toggle bookmark button checks to see if a bookmark is already on the caret's line.  If there is one, it removes it.  If there isn't one, it adds a new bookmark.  Clear all bookmarks removes them all from the document.

The previous and next bookmark buttons use our indicator search API to find another indicator based on an initial line.  In this case, we pass in the line that contains the caret and find the previous/next indicator.  If one is found, we move the caret to that line.

Summary

These features will be in the 2013.1 versions of the WPF and Silverlight SyntaxEditor controls.

We are still working on the design and implementation of indicators.  If you have any feature suggestions, now is the time to contact us!  Please comment here or e-mail us with your ideas and questions.

TaskDownload TaskLiveDemo TaskBuyNow

SyntaxEditor .NET Languages Add-on - VB Text Formatter

by Avatar Bill Henning (Actipro)
Wednesday, January 30, 2013 at 8:24pm

BlogPostBanner

Today I'd like to show off another new feature coming to the WPF and Silverlight .NET Languages Add-on:  Visual Basic text formatting!

As mentioned in our previous post, a similar feature is being added for the C# language.  Text formatters beautify code, making it more readable by adjusting whitespace.

Visual Basic Text Formatting Example

Let's see an example of some messy VB code loaded up in SyntaxEditor:

VB1

After formatting the document, the result is:

VB2

That's much nicer!

Intelligent Modifications

As described in a previous post, the best part about the text formatting feature is that SyntaxEditor only adjusts ranges it needs to.  It doesn't do a mass replace of the whole document.  For instance on line 23, it tweaks the leading whitespace on the line and removes the space before the end parenthesis, but doesn't touch the rest of the line.

All of the various text change operations involved in the formatting are merged into a single atomic text change that is added as a single undo stack item.  This makes it easy for the end user to quickly undo any formatting changes that were made.

Summary

These features will be in the 2013.1 versions of the WPF and Silverlight SyntaxEditor .NET Languages Add-on.

TaskDownload TaskLiveDemo TaskBuyNow

SyntaxEditor .NET Languages Add-on - C# Text Formatter

by Avatar Bill Henning (Actipro)
Wednesday, January 23, 2013 at 11:07am

BlogPostBanner

Today I'd like to show off a new feature coming to the WPF and Silverlight .NET Languages Add-on:  C# text formatting!

Text formatters beautify code, making it more readable by adjusting whitespace.

C# Text Formatting Example

Let's see an example.  Here is some messy C# code loaded up in SyntaxEditor:

CSharpFormatter1

When we format the document, the result is:

CSharpFormatter2

That's a lot more readable!  The text formatter also has an option for whether open curly braces appear on the same or next line.

Intelligent Modifications

The best part about this feature is that SyntaxEditor only adjusts ranges it needs to.  It doesn't do a mass replace of the whole document.  For instance on line 7, it does a tweak of the leading whitespace on the line but doesn't touch the rest of the line.

All of the various text change operations involved in the formatting are merged into a single atomic text change that is added as a single undo stack item.  This makes it easy for the end user to quickly undo any formatting changes that were made.

Summary

These features will be in the 2013.1 versions of the WPF and Silverlight SyntaxEditor .NET Languages Add-on.

TaskDownload TaskLiveDemo TaskBuyNow

New Maintenance Releases of WPF/Silverlight Controls

by Avatar Bill Henning (Actipro)
Monday, January 14, 2013 at 1:15pm

We just published new maintenance release of both the WPF and Silverlight controls.  These new builds fix a SyntaxEditor problem that we introduced in the previous maintenance release, and also have several other minor SyntaxEditor tweaks and fixes in them.

Update details are described here:

We recommend that you get these latest v2012.2 maintenance releases.

SyntaxEditor .NET Languages Add-on Var and Dim Quick Info

by Avatar Bill Henning (Actipro)
Tuesday, January 8, 2013 at 2:00pm

BlogPostBanner

We're working on new features for our 2013.1 control releases and today I'd like to show off a new feature coming to the WPF and Silverlight .NET Languages Add-on in that version.

C# Var Quick Info

As seen in the screenshot below, hovering over var keywords will now show the resolved type.

CSharp

In this case, the resolved type for the randomNumbers variable is List<int>, which we aliased to Int32List above in the usings.

Visual Basic Dim Quick Info

Similar features have been added for the Dim keyword in VB.

VB

In this screenshot, the j variable is being assigned an Int32.

Summary

These features will be in the 2013.1 versions of the WPF and Silverlight SyntaxEditor .NET Languages Add-on.

TaskDownload TaskLiveDemo TaskBuyNow