This post is the second post in our series on upcoming enhancements to the SyntaxEditor for WPF Language Designer application. The previous post gave a high-level over view of the application and talked about language projects and definitions.
One of the more common questions we receive related to SyntaxEditor is: How do I get started creating a new language definition? The updates we’re doing to the Language Designer right now are attempting to directly address that question.
First opening the application
When you first open the Language Designer, no language project (.langproj file) is loaded so you are presented up-front with several Start Actions.

The Start Actions include a number of items also found on the ribbon’s application menu: New Language Project, Open Language Project (with links to recently-opened projects), and Import SE4 Definition.
The New Language Project action (highlighted above) will create a new blank language project. Open Language Project allows us to search our hard drive for a previously-created language project. Clicking on a recently-opened .langproj filename reopens it. Finally, the Import SE4 Definition action allows us to import a SyntaxEditor 4.0 for WinForms dynamic language XML definition file, and use it to create a new language project.
We’ll pick the New Language Project action so that we can start with a blank language project.
General properties
As soon as a new language project is created, the General Properties pane is opened. This pane allows you to configure the high-level properties of the language.
In our sample, let’s create a language definition for ECMAScript. Anytime the Language Designer asks for a “key,” that key should be assumed that it may be used in code generation. Thus is must comply to the identifier naming guidelines for C# and VB. We’ll set our language key to EcmaScript and our language description to ECMAScript. We’ll also set our company name as the Creator and an appropriate Copyright. Finally we’ll set some example text for the language that we can use to test our syntax highlighting later on.
Next steps
In the next post of this series, we’ll use a wizard to quickly create a lexer for our ECMAScript language.