Actipro WinForms Studio 21.1.0

Released: Jul 12, 2021

21.1.0 での更新項目

機能

  • Bars
    • Added IBarRenderer.DrawCommandLinkInCustomizeList to support rendering BarCommandLink within a user-drawn ListBox.
    • Improved processing of mnemonic key for BarCommandLink and auto-generated tool tip text.
    • Improved performance of BarManager rendering related to resolving the IBarControl containing a BarCommandLink.
    • Removed BarManager.PopupAnimation which has not been supported since Microsoft Windows XP.
  • Docking/MDI
    • Added the DockManager.ExecuteTabbedMdiWindowContextMenuItem method which can be used to execute the logic of a context menu item for a specified TabbedMdiWindow.
    • Improved drop target rendering when dragging TabbedMdiWindow.
    • Updated floating document windows to not always appear on top of the main Form.
  • Navigation
    • Added NavigationBar.MoveNavigationPaneDown and NavigationBar.MoveNavigationPaneUp which can be used to adjust the position of a NavigationPane. Use NavigationBar.CanMoveNavigationPaneDown and NavigationBar.CanMoveNavigationPaneUp to test if the corresponding method is valid.
  • SyntaxEditor
    • Added support for semi-transparent text foregrounds.
    • Added completion item inline descriptions that can render optional text along the right side of a completion list item. Updated the .NET Languages Add-on's Completion Override QuickStart to demonstrate the new feature.
    • Added a new IUnusedRegionTag that can be applied to ranges of unused code that should be rendered using partial transparency.
    • Added a new Unused Regions QuickStart to demonstrate the new unused regions feature.
    • Added features so the macro recording mechanism can be customized. Updates include a new IMacroAction interface, making the default MacroRecording object public, adding a virtual SyntaxEditor.CreateMacroRecording method, and more.
    • Added the SyntaxEditor.ViewActionExecuting event that is raised immediately before an edit action occurs within an editor view, allowing the action to be canceled.
    • Added the ICodeSnippetTemplateSessionEventSink.NotifySessionOpening method, allowing for code snippet declaration default text customization prior to text insertion.
    • Added SyntaxEditor.CanPointerWheelScrollUnfocusedViews property that can be set to false to prevent unfocused editor views from mouse wheel scrolling.
    • Added the CompletionFilter.KeyGesture property and support for key gestures to toggle filter UI buttons and tabs. Updated the Completion List Filtering QuickStart to demonstrate the new feature.
    • Added a new Adornments Highlight Range QuickStart to demonstrate how to manually tag any range of text with a custom classification and highlighting style.
    • Added support for a transparent plain text background.
    • Improved squiggle line height to scale with font size.
    • Improved exception reporting for an invalid dynamic lexer regular expression pattern range.
    • Improved high-DPI layout of the search overlay pane.
    • Improved printer view layout logic.
    • Improved the IOutliningManager.CollapseToDefinitions logic.
    • Improved the line commenter logic for determining the selection after a change.
    • Improved the token-caching mechanism.
    • Improved the logic for selection updates when text ranges are collapsed.
    • Improved the logic for selection updates as a result of text changes.
    • Improved the indentation guide display logic for scenarios with blank lines.
    • Improved the print dialog to support the Selection page range option.
    • Improved the copy/cut line logic when on the last view line.
    • Improved the line number margin to support bold/italic fonts.
    • Improved the scrolling experience when selecting in virtual space.
    • Improved outlining margin rendering.
    • Improved word wrap logic.
    • Updated the maximum document TabSize to 32.
    • Updated a quick info session to close when a pointer wheel is scrolled.
    • Updated a quick info session to close when its target SnapshotRange is changed to zero-length while the session is open.
    • Updated the scroll distance when clicking on a scrollbar track.
    • Updated clicks in various view locations to ensure the containing view is focused.
    • Updated clicks in the outlining margin to select the view line.
    • Updated how outlining nodes expand in response to text changes around them.
    • Updated the trigger logic for an auto-corrector.
    • Updated Esc key handling while incremental search mode is active to deactivate the mode, but not collapse the selection.
    • Updated the left/right selection adjustment edit actions to support virtual space without having to hold Alt when in Block selection mode.
    • Updated the EditorSnapshotChangingEventArgs/EditorSnapshotChangedEventArgs.TypedText properties to no longer require a single operation. As a result, incremental search and parameter info can now function with block and multiple selections.
    • Updated text changes that retain selection to not scroll the editor view to the caret.
    • Updated clicks in a view to ensure the parent Form is activated.
    • Refactored how text offsets are mapped to view character indices and vice versa.
    • Refactored how text selection over a collapsed outlining node is handled.
    • Refactored how SyntaxEditor.DocumentTextChanged events are raised to ensure that they occur in snapshot version order.
    • Increased the maximum outlining node depth.
  • .NET Languages Add-on
    • Added optional extensions to load binary assembly reflection data with Roslyn, which wasn't available in prior WinForms versions.
    • Added C# extern alias support via the new IProjectAssemblyReference.Aliases collection.
    • Improved probing logic for system assembly XML DocComment files.
    • Improved enumeration of IBinaryAssemblyReferenceCollection to use thread locking.
    • Improved handling of FileNotFoundException when loading binary assemblies.
    • Updated the IntelliPrompt completion list's filters to support key gestures.
    • Updated the resolver to better handle a certain lambda expression scenario.
  • Python Language Add-on
    • Updated the IntelliPrompt completion list's filters to support key gestures.
  • Shared
    • Updated MarkupLabel's font-family style attribute to support several generic font family names.
    • Updated ScrollBar to ensure that its thumb mouse capture is released if the control becomes disabled.
    • Updated CanvasControl's text rendering logic to ensure fallback fonts don't increase line height.
  • All
    • Validated Microsoft .NET 5 compatibility.
    • Added NuGet packages for Microsoft .NET Core 3.1 variations of the assemblies.
    • Realigned API namespaces for clarity and consistency with other platforms.

不具合の修正

  • SyntaxEditor
    • Fixed a bug in the handling of a SyntaxEditor.HighlightingStyleRegistry property change.
    • Fixed a bug where multiple sequences of right-to-left ranges of text in a view line might not render correctly.
    • Fixed a bug where an exception could be thrown in a certain scenario when programmatically collapsing outlining nodes.
    • Fixed a bug where surrogate pair characters may not render properly.
    • Fixed a bug where dragging and dropping text over a view splitter was allowed.
    • Fixed a bug where clicking in the number margin for the view's last visible line would scroll the view.
    • Fixed a bug where deleting a zero-length selection at the end of a line could also delete a collapsed outlining node on the next line.
    • Fixed a bug where typing at the start of an outlining node may not shift offsets properly.
    • Fixed a bug where certain edits around collapsed outlining nodes could lead to an invalid state.
    • Fixed a bug where the mouse cursor may not be correct after opening the search overlay pane.
    • Fixed a bug where the selection may be incorrect following certain block-based text changes.
    • Fixed a bug where the IME composition window might appear in the wrong location.
    • Fixed a bug where the IME composition helper could throw an exception in a certain scenario where a SyntaxEditor was disposed.
    • Fixed a bug where the drag/drop caret could show in multiple editor views.
    • Fixed a bug where the line number margin might not measure correctly.
    • Fixed a bug where incremental search could be deactivated by an auto-correct.
    • Fixed a bug where word-based selection around a collapsed outlining node could expand the node.
    • Fixed a bug where resizing a view could lead to some adornments rendering in the wrong location.
    • Fixed a bug with the rendering of an open collapsed outlining node at the end of a document.
    • Fixed a bug with how the view line maximum width cache is updated.
    • Fixed a bug with unused regions within a collapsed region.
    • Fixed a bug with collapsed region quick info indentation.
    • Fixed a bug in the hit-testing logic.
  • .NET Languages Add-on
    • Fixed a bug where an outer type's members could incorrectly appear in the IntelliPrompt completion list in a certain scenario.
  • Python Language Add-on
    • Fixed a bug in the resolver related to packages and modules.