Actipro SyntaxEditor for WPF 22.1.0

Released: Dec 13, 2021

22.1.0 中的更新

特性

  • Added a Drag and Drop QuickStart to demonstrate multiple interaction models and features.
  • Added support to customize drag/drop text when dragging within the same editor.
  • Added an Editor Views - Synchronization QuickStart to demonstrate synchronizing the scroller, splitter, and zoom level of one editor instance with another.
  • Added new non-generic interfaces ITaggerBase (implemented by ITagger<T>) and ITagAggregatorBase (implemented by ITagAggregator<T>) for a type-safe way of working with these types when the type of ITag is not relevant.
  • Added ITaggerBase.NotifyTagAggregatorAttached and ITaggerBase.NotifyTagAggregatorDetached which are called when an instance of TagAggregatorBase<T> attaches to or detaches from a tagger.
  • Added CanKeepCaretVisible property to ScrollDownAction and ScrollUpAction to control if the caret should optionally be moved to remain visible after scrolling. Corresponding overloads added to IEditorScrollViewer.ScrollDown and ScrollUp methods.
  • Added various IQuickInfoSession.Placement* properties that return values if the placement-oriented Open method was used to open the session.
  • Updated the IntelliPrompt Quick Info QuickStart to demonstrate repositioning the QuickInfoSession.PlacementRectangle property for these kinds of sessions as the view is scrolled.
  • Improved the vertical scrollbar behavior when dealing with collapsed regions.
  • Improved the positioning logic for IntelliPrompt popups, especially on tablet PCs with right-handedness set.
  • Improved the logic for the EditorSnapshotChangedEventArgs.TypedText property to remove whitespace that might have been added to pad a typed character for proper virtual space positioning.
  • Updated the Language Designer app to support creation of AST node interfaces.
  • Updated drag-and-drop behavior to support customization through DragEventArgs.Effects.
  • Updated drag-and-drop to scroll horizontally when the drop caret is near the edges of the control.
  • Updated drag-and-drop to remove possible unnecessary scrolling following a drop.
  • Updated feedback when dragging to only show the 'Copy' or 'Move' indicator over valid drop locations.
  • Updated Single-Line Mode QuickStart to include a formula example with alternate style for nested parenthesis.
  • Updated IDataStore.GetText method to support String data format if UnicodeText and Text are undefined.
  • Updated IDataStore.SetText method to replace HTML and RTF data formats with new text.
  • Updated TagAggregatorBase<T> so it no longer calls Dispose when detaching from taggers which implement IDisposable. Taggers can use the new ITaggerBase.NotifyTagAggregatorDetached method to determine the most appropriate time to dispose of the tagger.
  • Updated SyntaxEditor.IsDocumentReadOnly to a read-write property and the corresponding dependency property SyntaxEditor.IsDocumentReadOnlyProperty now supports two-way bindings.
  • Updated the SyntaxEditor.SuspendCaretBlinking and ResumeCaretBlinking methods to support caret display when focus is not in the editor.
  • Updated the IntelliPrompt repositioning logic to better handle when a session is closed due to being scrolled out of view.
  • Updated the MoveSelectedLinesDownAction logic to prevent unexpected results when at the document end.
  • Updated outlining logic to ensure that a collapsed outlining node expands if its end is removed and it becomes an open node.
  • Validated Microsoft .NET 6 compatibility.
  • Added Microsoft .NET 5 variations of the product assemblies to the NuGet feeds.

修补程序

  • Fixed an issue where automatic vertical scrolling caused by dragging near the edge of a view might reset the selected text.
  • Fixed an issue that prevented dropping text around block selections.
  • Fixed an issue that caused the caret to stop rendering properly after dragging and dropping text outside of the editor.
  • Fixed a bug where setting HighlightingStyle.BorderColor to null in styles with a border could trigger an exception when rendering.
  • Fixed a bug where a code snippet with an $end$ defined immediately after a field may not position the caret properly when Enter was pressed after editing the field.
  • Fixed a bug where exported RTF and HTML didn't account for a customized plain text foreground.
  • Fixed a bug where calling IEditorView.InsertSurroundingText from witin a SyntaxEditor.DocumentTextChanged event handler could result in an incorrect final selection.
  • Fixed a bug where typing in a block selection after a collapsed outlining node could lead to an incorrect selection range.
  • Fixed a bug where a collapsed region without a related intra-text spacer at document end could throw an exception.
  • Fixed a bug where the selection wasn't always correct after an indent for a block selection that included virtual space.
  • Fixed a bug where a block selection that begins with no characters selected in the first line wouldn't copy the text properly.
  • Fixed a bug where pressing Enter with a block selection at the document end could incorrectly delete characters.
  • Fixed a bug where deleting a collapsed outlining node that had its quick info open could throw an exception.