WPF Controls 2013.1 build 582 has been released and is now available for download. This build focuses on minor enhancements and bug fixes.
See the announcement post for the detailed list of enhancements and updates.
WPF Controls 2013.1 build 582 has been released and is now available for download. This build focuses on minor enhancements and bug fixes.
See the announcement post for the detailed list of enhancements and updates.
In today's post I'd like to announce another new feature coming to the 2013.2 version of SyntaxEditor for WPF and Silverlight: indentation guides.
Indentation guides are subtle vertical lines that render at each tab stop on lines prior to the first non-whitespace character. They help visually align the indentation of visible code blocks.
You can see the silver indentation guide lines in the tab stops within this screenshot:
Whitespace-only lines are intelligent and render indentation guides based on the tab stop level of surrounding text.
These new features will be available in the 2013.2 version of SyntaxEditor!
Today I'd like to reveal a new control coming to our WPF and Silverlight Views products in the 2013.2 version: InertiaScrollViewer.
The InertiaScrollViewer control is a drop-in replacement for the native WPF/Silverlight ScrollViewer control but allows you to scroll content using touch, similar to what you're used to on Windows 8 and mobile devices.
It reacts to dragging, flicking, mouse wheel, and normal mouse operation via the scrollbars. You can adjust properties like EasingFunction, VelocityTimeRatio, and VelocityDistanceRatio to fully control how inertia scrolling looks and feels.
In the screenshot above, you can see how our main Sample Browser pages have been updated with InertiaScrollViewer, allowing full touch interaction and navigation within them.
With a deluge of new touch-enabled Windows PCs entering the market, you'll be able to update your WPF and Silverlight apps with InertiaScrollViewer and take full advantage of this new hardware.
InertiaScrollViewer will available in the 2013.2 version of Views for WPF and Silverlight. We've also added a new related QuickStart to our Sample Browser application.
One great thing about having our free Code Writer Windows 8 text/code editing app out is that we now get a lot of feedback directly from end users of the SyntaxEditor control. Normally we only receive feedback from our own customers, who are developers integrating SyntaxEditor and our other UI controls into their own apps.
A common request we've received is to support delimiter auto-complete. Delimiter auto-complete is where the user types a start delimiter and a related end delimiter is auto-inserted after the caret. This is especially helpful when working on mobile tablets like a Surface since it means less overall typing is required to output the same code.
The 2013.2 version of SyntaxEditor for WPF and Silverlight includes a built-in implementation of delimiter auto-complete via a language service that can be customized and assigned to any syntax language.
In this example, we'll use our new advanced JavaScript language, also coming in the 2013.2 version and described further in this post.
First, we'll type a ( character:
You can see how the related end ) is also auto-completed and the caret remains in the middle of the two delimiters.
Now if I type a ) character, it recognizes that this end delimiter was auto-completed, and instead of making another text change, skips right over the previously auto-completed end delimiter.
Now if I type another ), it will insert a new character since it recognizes we are now outside of the auto-completed delimiter range.
Let's delete that extra end delimiter and type an open curly brace to see the resulting auto-completed close brace:
Say I made a mistake and wish to quickly delete the pair. If I press Backspace then it recognizes I'm backspacing over a delimiter that created an auto-complete and it removes the completed end brace as well.
That's neat stuff!
These new features will be available in the 2013.2 version of SyntaxEditor!
In our last post, we revealed that a new advanced implementation of the JavaScript language is being added to the Web Languages Add-on in the 2013.2 version.
In this post we'll look at which features will be part of the language's first release.
As with all our other syntax languages, a lexer tokenizes the code and allows for colorization of items such as keywords, comments, strings, etc. This makes code much easier to read.
A full parser that conforms to the ECMAScript 5.1 standard is included. The parser runs in a worker thread, and even handles things such as implicit semi-colon insertion.
The parser outputs a complete abstract syntax tree (AST) of the document. This AST is stored with the document and can be traversed to view the JavaScript code structure.
Errors in syntax are returned by the parser and can be displayed in error lists. In addition, squiggle lines are rendered under the errors and mouse hovers over the squiggles reveals the error description.
All JavaScript functions are code outlined so that they may be collapsed (folded). The outlining margin helps the end user by providing some visual structure to the code.
Pressing Enter at the end of a line indents properly on the next line.
A text formatter is included that beautifies JavaScript code.
Use Ctrl+Num+ and Ctrl+Num- to expand and collapse the text selection over the ancestor statement/block/function hierarchy. This sort of functionality is described in detail in this post.
A new feature (being added in 2013.2 with support for all languages) allows for delimiter auto-complete. For example, this means that when you type a ( character, the end ) character is inserted immediately after the caret for you.
The advanced JavaScript language will be added to the Web Languages Add-on in the 2013.2 version of SyntaxEditor!