Monday, June 9, 2008

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.

6 comments:

Anonymous said...

Thanks very much for posting this information. I am sorry we haven't had the time to do the conversion yet, and this should help unblock those wanting to move projects created with the VS2005 version over to VS2008.
Thanks again.

Ahmed Negm said...

Hello jezz,
I am Happy to see you in my blog,
I am one of the fascinators of DSL Editor Powertoy; it gives the DSL project magic flavor, so sculpture highly depends on it for managing the common functionality.

I hope my post is useful in the migration process, and you are welcome :)

El Bruno said...

Ahmed really really cool job !!!

I think your make a big contribution doing this (you save me a couple of hours/days migrating this project to VS2008)

Have you think in upload a new version here in this workspace for VS2008 ??

I'm also interested in the migrated code

thanks again

Bruno

Ahmed Negm said...

Hello el bruno

Thanks for your words,

I am happy to announce that you can download a full version of DSL Editor PowerToy support VS2008 with full functionality.
for more information see this post (DSL Editor Powertoy in VS2008)

yagna said...

Hi,

I am facing the problem with Dsl power toy tools when i build the sculpture code in vs2008.DslEditorPowerToy.Controls.Languages.ToolWindows.EditorHostContainerBase
is not having the 4 argument constructor. please provide me the correct dll's to compile the code.

if you no concerns giving the contact number please provide me the contact number.

Thanks&reagrds,
Yagna

Ahmed Negm said...

Hi yagna,

We have an updated version of DSL Editor Power toy that deployed with Sculpture, it give us the ability to have to Editor window instead of one.
you can not compile the Sculpture code untill you install it.
I upload the updated DSL Editor Power Toy for you:

http://www.dawliasoft.com/DSLEditorPowertoy/DslEditorPowerToy%202008%20Updated.msi

Best Regards