Code Writer v1.8 Released

by Avatar Bill Henning (Actipro) - 2 comments
Monday, June 17, 2013 at 8:39am

BlogPostBanner

We just published v1.8 of Code Writer, our free text/code editor app, to the Windows Store.  Here's what's new…

Advanced JavaScript Editing

Code Writer has had basic JavaScript editing functionality since its first version.

Last month we announced that a JavaScript language add-on was being added to SyntaxEditor's Web Languages Add-on in the 2013.2 version of SyntaxEditor.  This same functionality is now available in Code Writer.

JavaScript

The advanced JavaScript editing features include:  code block selection, code outlining, delimiter auto-complete, smart indent, syntax error reporting, text formatting, and more.

Word Wrap

Word wrap has been desired by users for a while, and we've delivered it in this version.

WordWrap

Go to the Editor settings to see the new word wrap mode option.

Delimiter Auto-Completion

Delimiter auto-completion, described in this post, 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.

This new feature has been added to the the C, C++, C#, CSS, INI, Java, JavaScript, Lua, Perl, PHP, PowerShell, Python, RTF, Ruby, SQL, VB, and VBScript file types.

Miscellaneous

We've also added :

  • Search results scroll to the vertical middle if scrolling is needed.
  • Labels for documents opened from Box and Dropbox.

Summary

Many of these new features have been highly requested by users.

Go to the Windows Store to download Code Writer, and help us by tweeting about the app!

TaskWideLearnMore TaskWideWindowsStore

InertiaScrollViewer Control

by Avatar Bill Henning (Actipro) - 3 comments
Wednesday, June 12, 2013 at 9:56am

BlogPostBanner

Today I'd like to reveal a new control coming to our WPF and Silverlight Views products in the 2013.2 version:  InertiaScrollViewer.

Overview

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.

SampleBrowser

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.

Summary

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.

TaskDownload TaskLiveDemo TaskBuyNow

SyntaxEditor Delimiter Auto-Complete

by Avatar Bill Henning (Actipro)
Wednesday, May 29, 2013 at 12:16pm

PostBannerSyntaxEditorDevNotes

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.

What is Delimiter Auto-Complete?

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.

Sample Usage

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:

Delimiter1

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.

Delimiter2

Now if I type another ), it will insert a new character since it recognizes we are now outside of the auto-completed delimiter range.

Delimiter3

Let's delete that extra end delimiter and type an open curly brace to see the resulting auto-completed close brace:

Delimiter4

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. 

Delimiter5

That's neat stuff!

Summary

These new features will be available in the 2013.2 version of SyntaxEditor!

TaskDownload TaskLiveDemo TaskBuyNow

JavaScript Language Add-on - Feature Summary

by Avatar Bill Henning (Actipro)
Tuesday, May 28, 2013 at 10:34am

PostBannerSyntaxEditorDevNotes

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.

JavaScript

In this post we'll look at which features will be part of the language's first release.

Syntax Highlighting

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.

Parsing

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.

AST Generation

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.

Syntax Error Reporting

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.

Code Outlining

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.

Smart Indent

Pressing Enter at the end of a line indents properly on the next line.

Text Formatting

A text formatter is included that beautifies JavaScript code.

Code Block Selection

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.

Delimiter Auto-Complete

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.

Summary

The advanced JavaScript language will be added to the Web Languages Add-on in the 2013.2 version of SyntaxEditor!

TaskDownload TaskLiveDemo TaskBuyNow

JavaScript Language Add-on is Coming to SyntaxEditor

by Avatar Bill Henning (Actipro) - 7 comments
Tuesday, May 21, 2013 at 2:45pm

PostBannerSyntaxEditorDevNotes

Great news… a new language add-on for JavaScript, specifically the ECMAScript 5.1 standard, is coming to SyntaxEditor.  Let's take a first look:

JavaScript

In this screenshot, you can see features like syntax error reporting and code outlining active.  This new language will allow you to instantly plug in an advanced JavaScript editing experience to your apps that use SyntaxEditor.

The advanced JavaScript language will be added to the Web Languages Add-on in the 2013.2 version of SyntaxEditor!

TaskDownload TaskLiveDemo TaskBuyNow