Software Factories
A new patch for GAX targeting Visual Studio 2008 SP1 was released last week.
I will update the VSSDK Assist installer to target this release soon!
Pablo
As Victor announced it, after great efforts the T4 Editor v1.0 was finally out.
I don't need to tell you how much the user experience can drastically change when you use it, having syntax coloring, intellisense, code generation preview, support for multiple T4 hosts, etc etc.
Check it out here
Pablo
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
This new version includes several bug fixes and it is compatible with GAX February 2008 RTM.
You can download it from here.
Pablo
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:
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
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
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
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
The M0 version of VSIPFactory was just released!
“VSIPFactory - A Software Factory for Visual Studio Extensibility”
M0 Features:
·
Recipe for creating a VS service
·
Recipe for creating a VS tool window
·
Recipe for creating a VS command
·
Recipe for configuring VSIP package
·
Recipe for configuring VSIP package PLK
·
Recipe for configuring VS splash/about screens
·
Recipe for registering/unregistering a VSIP package
You can download it from:
http://www.codeplex.com/vsipfactory/Release/ProjectReleases.aspx?ReleaseId=2829
Pablo
We are very happy to announce that the February CTP of SFT is OUT and I can assure you that it Rocks!!!.
These are some features included on this release:
Recipe Binder: bind recipes to any designer with a few mouse clicks.
Recipe Designer: graphically edit your recipes. (YES you read it correctly :))
MetaFactory: creates customized and usable SF solution.
Manifest Validation: catch manifest errors early on and save time.
Enhanced runtime: more integration assets added.
Download it from here.
Enjoy SFT!!!
Pablo
The February CTP of GAX (or GAX 1.2 internally) was released yesterday.
Fixes:
-
Support for Windows Vista
-
Guidance Navigator performance and display improvements
-
Handling of read-only .gpstate files
-
Use of standard system colors in wizards and dialogs
-
Fixes to registration recipes
Tom has a detailed list of fixes here
You can download it from here
Pablo
Edward
and
Jezz
started a series of articles called Factories 201.
These articles are great and a must read to start understanding the wave of Software Factories.
Pablo