We get a lot of questions asking when SyntaxEditor for WPF will be made available to the public so I’d like to give a brief update on its status.
SyntaxEditor for WPF is not just a clone of SyntaxEditor for WinForms. While we could have done that and gotten it out a long time ago if we had, we wanted to use this opportunity to take everything we’ve learned over the last few years of being the market leader in code editor controls and come up with an object model that is much more flexible, has a lot more features, better organized, and is open-ended for future growth. And that’s what we’ve been doing.
Quick statistics
Here are some quick statistics of where things currently stand with the code development.
- The first public beta will have a lot of features not found in the WinForms version (snapshots, many extensibility points, etc.) but probably will not initially contain some features like outlining, semantic parsing, etc.
- Features found in the WinForms version but not yet in the WPF version will make their way over as development continues into the beta and post-RTM versions.
- Two assemblies are part of the product:
- The ActiproSoftware.Text.Net20 assembly is a .NET 2.0-based text and parsing library that is intended to be able to be used by any UI framework such as WPF, WinForms, ASP.NET and Silverlight
- The ActiproSoftware.SyntaxEditor.Wpf30 assembly is .NET 3.0-based and contains all the types needed to implement a code editor in WPF applications using the text/parsing framework in the other assembly.
- Roughly 580 types have already been defined in the two assemblies. These types are really only to support features that have already been partially or fully implemented, meaning there are a lot more yet to come.
- Roughly 86,000 lines of code are currently in the code files for the two assemblies.
- The design of both assemblies has been abstracted out such that everything is interface-based. Default implementations and abstract base class implementations of interfaces are provided in separate namespaces within the assemblies.
- Extensibility is a primary design goal, via the use of interfaces and other design features in the object model such as factories for margins, etc.
- There are currently 40 full samples for the product showing nearly every feature in small examples. Many more are planned.
Why is it taking so long to release?
Again, per above, you can see this is no small product. As a comparison, SyntaxEditor 4.0’s main control codebase (developed over many years) is roughly 370 types and 100,000 lines of code.
Let me again state that we are working as fast as possible on the product, and are making very good progress towards a public beta.
When can we expect a public beta?
The product is currently in closed alpha testing. We are trying our best to have a public beta with go-live license ready to go for WPF Studio 5.0’s release. WPF Studio 5.0 will contain Editors for WPF as the primary new product, and hopefully a smaller new product we’re toying with too.
WPF Studio 5.0 will most likely be ready in the next several weeks.