Actipro SyntaxEditor for WinForms

Visual Studio-Like Code Editing.

The ultimate syntax-highlighting code editor control.

Visual Studio-Like Code Editing.

Actipro SyntaxEditor for WinForms Features

A wealth of editing and visualization features.
Advanced Editing
Make coding quicker and easier with IntelliPrompt popups.
IntelliPrompt UI
Collapse regions of code.
Code Outlining
Embed custom UI elements anywhere in the editor surface.
Adornments
It's easy to build completely custom syntax languages.
Custom Languages
Create powerful grammar-based parsers.
Parser Frameworks
Pre-built advanced language implementations for SyntaxEditor.
Premium Add-ons
A wealth of editing and visualization features.

A wealth of editing and visualization features.

Highlighting styles can be completely customized by the end user for each code language, even allowing the changing of text area background and line number margin colors. SyntaxEditor has all the advanced editing capabilities you'd expect to find in a premium code editor, such as multiple undo/redo, block indent/outdent, line numbers, visible whitespace, word wrap, line modification marks, split views, block (rectangular) selection, customizable drag/drop, macro recording and playback, input method editor (IME) support, and more. Over 100 edit actions are included with SyntaxEditor that cover everything from basic caret movement and selection to features such as tabification, character/word/line transposition.

Make coding quicker and easier with IntelliPrompt popups.

Make coding quicker and easier with IntelliPrompt popups.

Any syntax language can optionally support automated completion lists, parameter info, quick info, and code snippets. The completion list is used to display a number of code completion options to the end user, not only providing intelligent information about the code being edited, but also improving the productivity of the end user by supporting "Ctrl+Space" functionality. IntelliPrompt parameter info displays helpful popup hints about an invocation that is being typed, and its parameters. Quick info tips can be used to give more information about what is at the current caret location or under the mouse. IntelliPrompt code snippets provide a way to insert pre-defined fragments of text into the editor.

Collapse regions of code.

Collapse regions of code.

Actipro SyntaxEditor has complete support for code outlining, also known as code folding. Syntax languages can automatically choose where to create outlining nodes (based on tokens, AST's, etc.) or the end user can choose to create outlining nodes via selected text. When a node is collapsed, a customizable text adornment denotes where the collapsed node is. Hover the mouse over the adornment to see the collapsed node's text. Certain nodes such as #region nodes can be marked to collapse by default, or marked so that they auto-collapse when Collapse to Definitions is used. The outlining margin renders the outlining node hierarchy and allows for easy toggling of outlining node expansion. Hover over expanded nodes in the outlining margin to see a highlight indicating the node's line range.

Embed custom UI elements anywhere in the editor surface.

Embed custom UI elements anywhere in the editor surface.

A powerful adornment layer system (WPF/Silverlight versions) allows for any sort of custom UI elements (images, shapes, and even controls) to be added anywhere within the text area. Animation is fully supported. Adornment layers can be set to appear before or after built-in layers, such as behind the selection. Easily add squiggle lines, background highlights, or any other decoration to text. A special kind of adornment called intra-text adornments embed themselves in-line with the text by reserving space and the text formatter adjusts the surrounding text to flow around the reserved space where the adornments render.

It's easy to build completely custom syntax languages.

It's easy to build completely custom syntax languages.

Extensibility is the name of the game when talking about SyntaxEditor's documents and languages. Languages are service-based objects where you can plug in any functionality you require for them. Use over 20 free languages with your SyntaxEditor implementations, or build custom syntax language implementations if needed.

Create powerful grammar-based parsers.

Create powerful grammar-based parsers.

The LL(*) Parser Framework (WPF/Silverlight versions) is Actipro's own framework for constructing robust text parsers that work standalone or with code editor controls like SyntaxEditor. The framework features grammars that are written in C#/VB using EBNF-like notation, customizable AST construction, advanced error handling/reporting, easy code injection, a complete debugger UI, and much more. A parsing framework is the key to enhancing a SyntaxEditor editing experience because it gives meaningful information about what is contained in the document. This can not only be used to provide contextual information to the end user (what method is the caret in), but used to help drive features like automated IntelliPrompt completion lists, parameter info, and quick info.

Pre-built advanced language implementations for SyntaxEditor.

Pre-built advanced language implementations for SyntaxEditor.

Actipro offers a couple of pre-built language add-ons for SyntaxEditor that instantly give your app advanced editing functionality. The .NET Languages Add-on provides automated IntelliPrompt completion lists, parameter info, quick info, code snippets, code outlining, parsing, AST construction, syntax error reporting, a resolver, and more for C# and Visual Basic documents. The Web Languages Add-on provides automated IntelliPrompt completion lists, quick info, code outlining, parsing, AST construction, validation, syntax error reporting, end tag auto-complete, formatting, and more for XML documents, driven using XML schemas.