Sunday, June 15, 2008

DSL Editor Powertoy in VS2008

It’s pleasure to Sculpture team to announce that they succeeded in migrating DSL Editor Powertoy to VS2008,

So you can develop DSL projects with DSL Editor Powertoy in VS2008 as the same manner as VS2005
with full functionality (Guidance Package , Editor Configuration Diagram).

This release of DSL Editor Powertoy works identically as the previous one.


Note: It’s not an official release, but Sculpture Team believes that DSL Editor Powertoy is vital for all DSL Designers, so they try to provide a community version that supports VS2008.


We hope it will be useful for all DSL Editor Powertoy users.


Downloads:

DSL Editor Powertoy 2008 Binary Installer (1.37 MB)
DSL Editor Powertoy 2008 Source Code (6.08 MB)


For more information about migrating your DSL project to Visual Studio 2008 see the previous post (DSL from 2005 to 2008)

Monday, June 9, 2008

Second CTP version for Sculpture

A new version of sculpture published on codeplex.

In this version:
• Many bug fixes, along with a number of functional improvements.
• Support for Visual Studio 2008.
• Some improvements in the Power Point presentation (add a section that describes how to consume the generated code).
• Remove the topics related to Microsoft .NET Framework 3.0 from the version that work under VS2005, so it can be run under .NET Framework 2.0.

You can download it form here

Surviving with DSL Editor PowerToy in Visual Studio 2008

As I described in The last post (DSL from 2005 to 2008) that the last problem face us while migrating Sculpture to VS2008 was DSL Editor PowerToy, still does not supported in VS2008, I hope to see new version soon.

First I must declare our idea about Surviving with DSL Editor PowerToy in Visual Studio 2008
• We already build our DSL editors in the VS2005 version.
• We just want the framework to be running under Visual studio 2008.
• We don’t need the DSL Editor PowerToy guidance package or even the DSL Editor PowerToy Diagram.

The first point is about including the DSLEditors folder to your project, set the custom tool for all DSL Editor templates to none (the code is already generated in VS2005 we don’t need the templates).

The second point is about the references, When you add a DSL Editor PowerToy to your DSL project by its guidance package there are four new references added to the DSLPackage project, we have to convert the corresponding projects to these DLLs to VS2008 so it can be a replacement of the previous dlls, we download the source code of DSL Editor PowerToy and convert these four projects to VS2008, some reference problems fixed then we build the projects and get the new dlls, add references to these dlls in your DSLPackage project, it work fine.

The third and last point is about Commands, which converted from CTC to XML with extension VSCT in VS2008 as we discussed in the previous post. Fortunately the DSL Editor PowerToy Command.ctc file does not have a big change from project to another, so you can use the following one with minor changes.

You can download the DLLs and Commands XML file from here.

Conclusion:
If you have DSL project in VS2005 that include DSL Editor PowerToy, you can run it under VS2008 by the next steps:
1. Include the DSLEditor folder in your DSLPackage project.
2. Set the custom tool property for all the templates in this folder to none.
3. Download the new dlls and CustomCmd.vsct from here.
4. Add references to these dlls in your DSLPackage project.
5. Add the downloaded CustomCmd.vsct to Commands.vsct.
6. Run and enjoy with your Editors run on VS2008.

DSL from 2005 to 2008

Spending 2 days for migrating Sculpture from VS2005 to VS2008 is unexpected time, we expect that we will convert it by the Visual Studio 2008 wizards, and then press F5 to test the framework.

I shocked when I read the article that shipped with Visual Studio SDK 2008 tell us:
To migrate your project from VS2005 to VS2008 Create a new solution and copy your code files to it

Its ok we follow the guide and migrate the project, some problems face us while converting that take some time to fix it, I want to explain these problems here to avoid the readers from take the same time.


1. VS2008 don’t copy the DLLs to GAC during the debugging mode, that’s great new feature but let us confused a little to be familiar with this new manner, the problem that if you have a copy of the dsl.dll and dslpackage.dll in your GAC, the debugging mode will run from them neglecting any other version on your machine, so you update the code and build then run and nothing change, so you must keep in mind that never debug your DSL project while you have a version installed in the GAC.


2. Commands, which converted from CTC to XML with extension VSCT, consuming some time to be familiar with this new format, we try Perl script [ConvertCTCToVSCT.pl] but it does not work correctly, where we add the commands by including Header file to the CTC file, so we convert it manually, after some of work it seems nice and easy to work with.

As a short Description about the new format

• To make groups use:

Just change the Group id, and the Parent id to your needs

• To Make Buttons use:


• The final thing you must know Symbols, where each of the previous IDs (groups and buttons) must be set its value in the Symbols section as follow:
Change the “guidCmdSet” value to match the one in your GeneratedVSCT.vsct file.

3. The last problem face us while migrating to VS2008 was DSL Editor PowerToy, still does not supported in VS2008, I hope to see new version soon, I will discuss how we overcome this problem in a dedicated post to be available for all DSL Editor PowerToy lovers.