Tweets by @Actipro
Please take some time to learn more about us and our product offerings.
Today we completed another major milestone in the resolver implementation of the SyntaxEditor .NET Languages Add-on for WPF/Silverlight: support for resolving extension methods in C# and VB.
If you are interested in learning about other recent .NET Languages Add-on progress, please see our previous blog posts.
Let’s see some samples… More...
Today I wanted to provide a quick series of screenshots that demonstrate our type inference features found in the SyntaxEditor .NET Languages Add-on for WPF/Silverlight’s resolver. These features are still in development and are not yet available in the current build.
Before we begin, be sure to check out our previous blog posts on .NET Languages Add-on development.
Type inference is the ability for the C#/VB resolver (part of our new add-on features) to examine an expression and try to determine its resolved type result. For instance, say you specify a typeof(int) as an expression. We know that the C# typeof call always returns a System.Type object, so our resolver attempts to look up the type definition for System.Type in the assemblies you indicate to reference. Once we have the type definition, we can drive automated IntelliPrompt features.
Type inference is vital for determining what type a variable is that was defined with var, which requires an expression initializer. It’s also used when examining arguments to methods, since when there are overloads available, it must figure out what type each argument is and compare that to the defined parameter types to pick the best overload for which arguments are present.
As mentioned in previous posts, we’ve started work on automated IntelliPrompt quick info for the C#/VB languages already. The following samples will show off type inference features. More...
One feature we’ve seen in some Visual Studio productivity add-ons is an adornment that shows the actual color specified by a color value in code. This is very useful for languages like CSS where color values are used throughout the code.
We wanted to show how easy it is to implement the same thing in SyntaxEditor for WPF and Silverlight, so we built a new Color Preview QuickStart for the next maintenance release. The sample just took a few minutes to create and is a great example of combining SyntaxEditor’s tagging and adornments features. Here’s the result:
Congratulations to the Visual Studio team, as today is the one year birthday of Visual Studio 2010. Visual Studio has definitely come a long way in recent years, and this latest iteration is by far the best.
We can’t wait to see what the VS team cooks up for future versions.
Head on over to Soma’s blog post to read more about what Microsoft has achieved with Visual Studio 2010 over the past year.
In addition to better Interop support we previous described, we've added the ability to link DockSites in our Docking & MDI for WPF product.
A DockSite is the main entity or object when working with our Docking & MDI for WPF product. It manages all the defined document and tool windows, and all the possible containers. This includes the Workspace and associated MDI host, if any.
In previous builds, a document/tool window being dragged with the mouse could only be docked inside it's own DockSite (or floated). If multiple DockSites were used in an application, each was it's own little island. Document/Tool windows could be moved between DockSites programmatically by unregistering it from the current DockSite, then registering it and opening it in the new DockSite. But this approach wasn't as intuitive as dragging and dropping it to the new DockSite.
One or more DockSites can now be linked together, which allows their document/tool windows to be dragged and dropped between them. More...
In this quarter, we released new 2011.1 versions of WPF Studio and Silverlight Studio. WPF Studio got a new QR Code 2D bar code, MVVM and Prism support for Docking/MDI, and new Calculator, Rating, and FanPanel controls. Silverlight Studio got new Bar Code and Wizard products, along with Rating and FanPanel controls.
SyntaxEditor in both WPF and Silverlight received a ton of new updates. Our LL(*) Parser Framework (used to build text parsers) now supports typed AST node creation, it got numerous new callback and error handling features, the Language Designer can now code generate AST node types, and .NET 4 text rendering enhancements were added.
The first version of the SyntaxEditor .NET Languages Add-on was launched for both WPF and Silverlight, which provides syntax highlighting, parsing, AST generation, syntax error reporting, and automatic outlining for C# and VB when editing in SyntaxEditor.
We launched a large update to our Icons Essentials product that brings the total number of icons up to over 30,000 images. We added a new Icons Elements product that lets you build your own customized icons by combining the elements with other existing icons to give them new meaning.
We’re currently working on numerous enhancements for our Docking/MDI product. We’ve also started on a new product that will provide themes for native controls that match themes for our custom controls. This has been highly requested by our customers.
Finally we’re continuing to work very hard to build our next generation SyntaxEditor .NET Languages Add-on. Our goal with the add-on is to get automated IntelliPrompt starting to function in the coming weeks while editing C# and VB.
Here is a quick categorized list of useful blog postings made in this quarter. More...
In the upcoming release of WPF Studio we've made several enhancements to our Docking & MDI product's support for interop support, further improving its capabilities of hosting content like Windows Forms controls within tool and document windows. More...
As mentioned in our previous several blog posts, we’ve been continuing to work on the SyntaxEditor .NET Languages Add-on for WPF/Silverlight, with our end goal to be to support automated IntelliPrompt features similar to VS 2010’s code editor.
Today I’d like to show a quick screenshot of some more progress in this area.
Generic types are very difficult to deal with since they can be nested in a multitude of ways and you have to properly resolve type arguments down to type parameters. Here’s a screenshot showing our automated quick info tip as we hover over the Add method invocation:
You can see how the resolver we’re building properly recognizes what the return type, declaring type, and parameter type of the method are. All this happens live. And best of all, it’s presented with full syntax highlighting, even using native type keywords where appropriate.
We’ll post more on the new features soon.