Pablo Galiano :

Subscriptions

<August 2008>
SuMoTuWeThFrSa
272829303112
3456789
10111213141516
17181920212223
24252627282930
31123456

News

Subscribe to Pablo Galiano by Email

Post Categories

Software Factories (RSS)

VSShell Assist is Out!!!

VSShell Assist is a visual toolset of utilities to create VS Shell applications. It seamlessly integrates with his big brother VSSDK Assist

The current features are:

  • Create:
    • VS Shell Setup project (wix based)
  • Test:
    • Test SLK/PLK
    • Test VS Splash Screen
  • Utility:
    • Create VS Package pkgdef file

The pre-requisites are:

 

You can download it from here

Pablo

posted Monday, March 17, 2008 6:08 PM by pga with 1 Comments

VSSDK Assist March 2008 CTP is OUT!!!

This new version includes several bug fixes and it is compatible with GAX February 2008 RTM.

You can download it from here.

 

Pablo

posted Thursday, March 13, 2008 11:49 AM by pga with 0 Comments

TTxGen on MSDN Code Gallery

TTxGen is a generic single file generator based on the text templating engine.

What is that???, Some background:

Single file generators or custom tools are COM components registered with Visual Studio that generate code.

To implement a custom tool you basically need to implement the IVsSingleFileGenerator interface. For more detail you can read kzu's post 

A custom tool also needs to be registered and associated to file a extension.

The IVsSingleFileGenerator interface declares two methods:

int DefaultExtension (
	out string pbstrDefaultExtension
)

This method is used to specify the extension of the generated file.

int Generate (
	[InAttribute] string wszInputFilePath,
	[InAttribute] string bstrInputFileContents,
	[InAttribute] string wszDefaultNamespace,
	[OutAttribute] IntPtr[] rgbOutputFileContents,
	out uint pcbOutput,
	[InAttribute] IVsGeneratorProgress pGenerateProgress
)

This method is used to generate the code that we want. It receives the name of the file associated with custom tool, the content of the file and it returns a Byte[] with the generated code.

One serious drawback is that we need to implement, register and deploy one custom tool for each representation of custom code that we want to generate.

Ok that's all for custom tools, now the funny part...

As you may know the text templating (t4) engine is now part of Visual Studio 2008. Based on this I created an implementation of a generic single file generator using t4.

The idea here is to have the same context as in custom tools. For that I have created a custom directive processor that injects the context needed on the tt:

<#@ output extension=".xml" #>
<#@ ParentFileInjector processor="TTxGenDirectiveProcessor" requires="fileName='Sample.xml'" #>
<#= this.ParentFileName #>
<#= this.ParentFileContent #>

If we want to access the parent file name we can use the ParentFileName variable, and for the content we can use the ParentFileContent.

TTxGen comes with some tooling to create a xGen template with the proper directives and context to start generating code:

scn1

scn2

The Create xGen Template command unfold a tt template, default the extension to the extension of the parent file and it automatically replace the requires argument.

 

You can download TTxGen from codegallery.

 

Pablo

posted Monday, February 04, 2008 6:10 PM by pga with 7 Comments

T4 Editor is OUT!!!

As Victor announced it, the T4 Editor was released to the community. Of course you know that this is a *must have* tool if you work with GAX / DSL or Software Factories.

It currently supports VS 2005 and VS 2008 beta 2 with IntelliSense, syntax coloring and most of the fancy stuff that the editors in VS have.

Go and donwload it. :)

 

Pablo

posted Thursday, October 18, 2007 5:39 AM by pga with 0 Comments

VS 2008 and GAX

GAX July 2007 CTP is out. It includes the following improvements:

  • Support for Visual Studio 2008 Beta 2
  • Wix based setup project template
  • Support for registration on VS experimental hive
  • You can read Tom's post to find out the details. :)

    Dowload it from here.

    Pablo

    posted Saturday, August 04, 2007 9:48 AM by pga with 1 Comments

    VSIPFactory May 07 CTP is out!!!

    The May 07 CTP version of VSIPFactory is out and it has a lot of new cool features:

     

             Create:

    *    VS Package solution (VS solution template)

    *      VS Package project (VS project template)

    *      VS Services

    *      VS Tool Windows

    *      VS Commands

    *      VS Tool Options Pages

    *      Subscribe to VS Events

    *   VS Solution Events

    *   VS Build Events

    *   VS RDT Events

    *   VS Project Item Events

    *   VS File Change Events

     

    Configure:

    *     VS Package

    *     VS about/splash screens

     

    Deploy:

    *     Configure VS Package Load Key

    *     Create VS Package Deployment Information

     

    Test:

    *     Create VS Package Load Key Report

    *     Test VS Package Load Key

    *     Test VS Splash Screen

     

           Utility:

    *     Register VS Package

    *     Unregister VS Package

    *     Refresh VS Package Registration Information

    *     Launch VS on Experimental Hive

     

    DSL authoring:

    *     Templates transformation per project / folder

     

    You can download it from:

    http://www.codeplex.com/vsipfactory/Release/ProjectReleases.aspx?ReleaseId=4070

     

    Screenshots:

    http://www.codeplex.com/vsipfactory/Wiki/View.aspx?title=Screenshots&referringTitle=Home

     

    Documentation links:

    http://www.codeplex.com/vsipfactory/Wiki/View.aspx?title=Pre-requisites&referringTitle=Home

    http://www.codeplex.com/vsipfactory/Wiki/View.aspx?title=Install&referringTitle=Home

    http://www.codeplex.com/vsipfactory/Wiki/View.aspx?title=Usage&referringTitle=Home

     

    PS: If you want to see the plan for the next release please visit the roadmap section

     

    Pablo