Silverlight Controls 2013.1 Build 151 Released

by Avatar Bill Henning (Actipro)
Wednesday, May 8, 2013 at 7:59am

BlogPostBanner

Silverlight Studio 2013.1 build 151 has been released and is now available for download.  Several great new enhancements are part of this build.

This build has the following major new features:

  • Charts: Added the ability to provide strings and complex types as chart data using the new XYGroupedAxis.
  • Charts: Added support for multilevel XPath and YPath.
  • SyntaxEditor: Added new auto-correct features, with a pre-defined AutoCaseCorrector language service for performing character case correction.  Easily add auto-case correct features to custom languages.
  • SyntaxEditor: Updated the sample VB, VBScript, and PowerShell languages to perform auto-case correction.
  • SyntaxEditor: Added new code block selection features, which let languages that implement an ICodeBlockFinder service expand/contract the selection to logical code blocks via Ctrl+Num+ and Ctrl+Num-.
  • SyntaxEditor: Added a new free Markdown syntax language definition.
  • SyntaxEditor: Made performance improvements in numerous areas.
  • SyntaxEditor .NET Languages Add-on: Added an IAutoCorrector language service implementation for VB that case corrects keywords.
  • SyntaxEditor .NET Languages Add-on: Added ICodeBlockFinder language service implementations for C# and VB.
  • SyntaxEditor .NET Languages Add-on: Updated the resolver to handle the implicit value parameter in property setters.
  • SyntaxEditor .NET Languages Add-on: Improved the C# text formatter.
  • SyntaxEditor Web Languages Add-on: Added ICodeBlockFinder language service implementations for XML.

See the announcement post for the detailed list of enhancements and updates.

TaskDownload TaskLiveDemo TaskBuyNow

SyntaxEditor - Auto-Case Correct

by Avatar Bill Henning (Actipro)
Wednesday, April 24, 2013 at 1:21pm

PostBannerSyntaxEditorDevNotes

Last week we posted about a new Markdown syntax language and new code block selection features coming to our SyntaxEditor code editor in the next 2013.1 maintenance releases of our WPF and Silverlight control products.

In today's post, I'd like to show off another major new feature that will be available:  auto-case correct.

Auto-Case Corrector Services

In the upcoming version, a new AutoCaseCorrector language service is included that can perform case-correction on documents as editing occurs.  This feature works out of the box on any languages (including your own custom ones) that use dynamic lexers, where the case sensitivity of patterns is set to AutoCorrect.

The new language service class can also be inherited and updated to work with programmatic lexers as well, which is what we did in the Visual Basic language in the .NET Languages Add-on.

Auto-correct features will be enabled (if they are implemented for a language) as long as the new SyntaxEditor.IsAutoCorrectEnabled property is set to true.

Case Correct Example

Let's look at a Visual Basic example of this new feature in action.

AutoCaseCorrect1

In this screenshot, I typed in all lowercase on line 23.  Next I pressed the Down key to move to the next line.

AutoCaseCorrect2

The auto-case corrector noticed that I edited the line and moved the caret to a new line, so it went back to auto-correct the previous line.  Note how the For, As, Integer, and To keywords were all cased appropriately.

The auto-correct text change was performed as an undoable change too, meaning the user could undo (Ctrl+Z) it if they weren't happy with the update.

Summary

Auto-case correct is a wonderful addition for any languages that use case-insensitive keywords, such as Visual Basic.  It will greatly improve the end user's editing experience, and is enabled on our Visual Basic, VBScript, and PowerShell languages.

This and other features are ready to go for the upcoming 2013.1 maintenance release, due soon.

TaskDownload TaskLiveDemo TaskBuyNow

WinForms Controls 2013.1 Released

by Avatar Bill Henning (Actipro)
Tuesday, April 23, 2013 at 3:50pm

SyntaxEditor - Markdown Language

by Avatar Bill Henning (Actipro)
Thursday, April 18, 2013 at 3:28pm

PostBannerSyntaxEditorDevNotes

Yesterday we talked about the new code block selection features coming to our SyntaxEditor code editor in the next 2013.1 maintenance releases of our WPF and Silverlight control products.

Today I'd like to announce that we're including a new free sample syntax language for Markdown as well.

Markdown Syntax Highlighting

Markdown

The screenshot above demonstrates some of the Markdown syntax highlighting features that are included.

Summary

If you have an app that edits Markdown source, then SyntaxEditor with its free new Markdown language will improve the editing experience for your end users.

This and some other exciting unannounced features are ready to go for the upcoming 2013.1 maintenance release, due soon.

TaskDownload TaskLiveDemo TaskBuyNow

SyntaxEditor - Code Block Selection

by Avatar Bill Henning (Actipro)
Wednesday, April 17, 2013 at 2:52pm

PostBannerSyntaxEditorDevNotes

We've been hard at work on new features, many of which relate to SyntaxEditor, for the upcoming 2013.1 maintenance releases of our WPF and Silverlight products.

A new feature coming to SyntaxEditor that is already in our WinForms version is called code block selection.

What It Does

Code block selection is a feature where the view's selection can be expanded to include containing code blocks, and then later contracted all the way back down to the caret as appropriate.

For instance, in C# the first time you expand the selection (via Ctrl+Num+), it may select the containing identifier.  By expanding it again, it may select the containing expression, then the containing statement, then the containing method.  And so on up the compilation unit.

By contracting the selection (via Ctrl+Num-), it goes back and selects the previously selected block.  Contracting can occur recursively to go back to the original selection.

This feature can be implemented in any language (very easily so if your custom language uses our LL(*) Parser Framework), and we've done just that for the advanced C#, VB, and XML languages we provide.

A C# Example

Let's see how this works in the C# language from our .NET Languages Add-on.

CSharp1

The cursor starts in WriteLine.

CSharp2

The containing identifier is first selected.

CSharp3

Then the containing expression. 

CSharp4

Then the containing statement, which in this case was the expression plus the semi-colon.  Next, the containing block is selected.

CSharp5

Finally the containing for statement of that block is selected.  If we would continue on, the method, class, etc. would be selected.

A XML Example

Now let's see how the XML language in the Web Languages Add-on works with this feature.

Xml1

First the caret is in an attribute name.

Xml2

Then the attribute is fully selected.

Xml3

Then all attributes in the tag are selected.

Xml4

Next, the entire tag is selected.

Xml5

Then the containing element's content is selected.  This is great if you want to quickly press Del and replace the content of the element.

Xml6

Finally, the entire tag block is selected.  If we would continue on, the parser element's content would be selected, then the parser tag block, etc.

Summary

You can see how this great feature can help with quick selection of containing code blocks.

This and some other exciting unannounced features are ready to go for the upcoming 2013.1 maintenance release, due soon.

TaskDownload TaskLiveDemo TaskBuyNow