DynamicOutliningSyntaxLanguage class missing in v2020.1?

SyntaxEditor for Windows Forms Forum

Posted 6 months ago by Soso
Version: 20.1.0403
Avatar

We started to upgrade our project from an older version (2018) to v2020.1.403 and we got errors related to DynamicOutliningSyntaxLanguage class.

We have a class that inherits from DynamicOutliningSyntaxLanguage and now the code no longer compiles because it cannot find DynamicOutliningSyntaxLanguage. 

Has it been replaced? What asembly is it defined in?

Comments (1)

Posted 6 months ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hello,

The WPF and WinForms APIs for SyntaxEditor diverged about 12 years ago and as part of the v2020.1 updates for WinForms, we merged that newer/better WPF back into the WinForms SyntaxEditor so that they and the UWP version can remain in sync API-wise moving forward.  A downside is that a number feature areas are very different from the prior WinForms SyntaxEditor codebase.

The DynamicOutliningSyntaxLanguage class is no more and there is no DynamicSyntaxLanguage class either.  In the newer API, syntax languages (ISyntaxLanguage interface and related SyntaxLanguage implementation class) are generic container of language services that you can add to give functionality to your language.  Things like lexers, parsers, line commenters, IntelliPrompt providers, etc. are all language services in the new API.

Thus was was a dynamic language before is now just a DynamicLexer implementation of an ILexer service that is registered on the syntax language.

Outlining is implemented through other language services like IOutliner.  There are several QuickStarts in the sample project showing code outlining that start with "Code Outlining" in their name.  The documentation has information on code outlining in the "SyntaxEditor / User Interface Features / Outlining and Collapsing Features" area.  I'd suggest reading through those topics and samples to see how code outlining is done in the new API.


Actipro Software Support

The latest build of this product (v21.1.0) was released 16 days ago, which was after the last post in this thread.

Add Comment

Please log in to a validated account to post comments.