Über Actipro SyntaxEditor for WPF

Eine Parsing-Suite mit einem Editor-Steuerelement für die Syntax-Hervorbebung im Code.

Actipro SyntaxEditor for WPF brings a powerful Visual Studio-like code editing experience to your own applications. It includes all of the advanced features found in popular code editors. Syntax languages for most popular languages are available, or custom build your own to handle any proprietary language.

Actipro SyntaxEditor for WPF Features

  • Syntax Highlighting - Highlighting styles can be completely customized by the end user for each code language. SyntaxEditor comes with syntax highlighting for over 25 languages.
  • Code Outlining (Folding) - The end user can collapse ranges of text defined by the language. A small adornment represents the collapsed text, and hovering over it shows the contained text.
  • Selection Modes - While standard continuous selection mode is generally used, a special block selection mode is available that supports simultaneous editing of multiple lines.
  • Indicators - Indicators are special 'tagged' regions of text that display a glyph in the indicator margin and optionally highlight the text range with special styles. Text range-based (e.g. breakpoint) and line-based (e.g. bookmarks) indicators are supported.
  • Adornments - A powerful adornment layer system allows for any sort of custom UI elements (images, shapes, and even controls) to be added anywhere within the text area. Easily add squiggle lines, background highlights, or any other decoration to text.
  • Search (Find/Replace) - A flexible search API is built into the control with the ability to highlight matches. End users can use incremental search to search without UI, or the search view control that has a ready-to-go find/replace user interface.
  • Word Wrap - When word wrap is enabled, long lines will wrap at the editor view's edge to a new line so that all text can be visible without horizontal scrolling.
  • Single-Line Mode - An optional single-line mode renders the control like a regular TextBox, but with all the syntax-highlighting, selection, IntelliPrompt, and other features that make SyntaxEditor great.
  • Split Views - Split the editor into multiple resizable views so that different portions of the same document can be viewed and edited in the same editor control.
  • Undo and Redo - Edits to a document are tracked in undo and redo stacks, allowing an end user to backtrack to an earlier version of the document's text.
  • Block Indent/Outdent - Select multiple lines and press Tab to block indent them to the next tab stop, or Shift+Tab to outdent them.
  • Visible Whitespace - Tab and space characters can optionally be represented by glyphs that show which character generated whitespace.
  • Delimiters - Languages can easily support delimiter (bracket) highlighting and delimiter auto-completion.
  • Drag and Drop - Drag and drop text within the editor view, or externally to/from other applications where you can determine the drop's textual representation.
  • Margins - Line number, outlining, selection, ruler, and word wrap editor view margins ship with the control. Custom margins can be created as well.
  • Printing - Built-in dialogs support configurable document printing. Document title, line number, word wrap glyph, and page number margins are included.
  • Bi-Di Editing and IME - All text is edited in Unicode characters and bi-directional editing is fully supported. IME can be used to input extended character glyphs.
  • IntelliPrompt - IntelliPrompt UI features are an aid to the end user that support code completion and provide contextually-aware information about surrounding code.
  • Completion List - Displays a number of auto-complete options for the end user to choose in response to Ctrl+Space. Features include description tips, filters, numerous matching algorithms, matched text highlights, and more.
  • Parameter Info - Displays helpful popup hints about an invocation that is being typed, and its parameters. Multiple invocation overloads can be displayed in a single popup, using arrow keys to toggle between them.
  • Quick Info - Provides detailed information about what is at the current caret location or under the mouse. Use the mini-HTML markup language to apply rich formatting to the displayed text.
  • Code Snippet Selection - Shows a completion list for navigating through code snippet folders and selecting an applicable code snippet to insert. Code snippets use the same Visual Studio file format.
  • Code Snippet Templates - Each code snippet can declare multiple fields of text. When a code snippet template session is activated, the text is inserted and the end user can tab between the fields to edit their values.
  • Navigable Symbols - Drop-downs positioned above the editor can show all available root symbols (generally types) and members within the selected root symbol. The selections update as the caret is moved in the editor.
  • Premium SyntaxEditor Language Add‑ons - Enhance the SyntaxEditor code-editing experience with features like parsing, syntax error reporting, automated code outlining, and IntelliPrompt.
    • .NET Languages Add‑on - Advanced C# and Visual Basic syntax language implementations.
    • Web Languages Add‑on - Advanced XML, JavaScript, and JSON syntax language implementations.
    • Python Language Add‑on - Advanced Python syntax language implementation.
    • These premium add-ons are sold separately from SyntaxEditor and control bundles.
  • Document change flow chart - When a text change creates a new document snapshot, the snapshot is lexed to update syntax highlighting, and can be parsed to produce an updated AST and report syntax errors.
  • Documents - Documents are edited by SyntaxEditor and provide access to the text being edited. Each document is associated with a syntax language that provides the control with editing feature configurations and logic.
  • Snapshots - The complete document text is available any time via snapshots, where each snapshot is an immutable versioned thread-safe copy of the text at the time it was created.
  • Lexers - Lexing is the process of scanning text and using logic or pattern-matching to break it up into meaningful tokens. These tokens drive syntax highlighting and are examined by a higher-level parser.
  • Parsers - Parsing can run in a worker thread and is the process of performing syntax and/or semantic analysis on a text, and outputing some sort of parse data, generally an AST (abstract syntax tree) and syntax error collection.
  • Syntax Languages - SyntaxEditor comes with over 25 open source syntax languages that feature syntax highlighting.
    • Assembly
    • Batch file
    • C
    • C#
    • C++
    • CSS
    • HTML
    • INI file
    • Java
    • JavaScript
    • Lua
    • Markdown
    • MSIL
    • Pascal
    • Perl
    • PHP
    • Powershell
    • Python
    • RTF
    • Ruby
    • SQL
    • VBScript
    • Visual Basic
    • XAML
    • XML
  • LL(*) Parser Framework - The LL(*) Parser Framework is Actipro's own framework for constructing robust text parsers that work standalone or with code editor controls.
  • Copy - 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.
  • Code Fragments - There can be situations where an end user should only see and edit the contents of a specific method or property, or perhaps only a certain statement or expression. Code fragments support this scenario, enabling full parsing and automated Language Designer - This application ships with SyntaxEditor and aids in the creation of syntax languages. It can perform code generation for a number of language features and even includes a debugger for grammars written using the LL(*) Parser Framework.
  • Windows Workflow Designer - SyntaxEditor and its .NET Languages Add-on can be used as the expression editor within a rehosted Windows Workflow Designer instance, which allows for automated IntelliPrompt when editing variables in expressions. Learn more.