Sneak Peek at New Code Generation Tool in Visual Studio

I’m very excited to announce we’ve just made available for testing the alpha bits of our Visual T4 Code Generator edition to existing customers of our Visual T4 Editor Professional edition.

We’ve been working hard during the past several months on extending the current codebase of our editor to incorporate lots of new features aimed at code generation so we could offer a very complete tool to compete in the market for code generators.

In case you are wondering what the heck T4 technology is please read this nice introduction by Scott Hanselman.

Let me give you a quick 1-2-3 on what our Visual T4 Code Generator is based on and some of the features we believe will make it a great (the best) code generation tool.

We have built this on top of Microsoft’s T4 transformation technology, meaning:

- The core transformation technology we use is developed, maintained and supported by Microsoft for the next foreseeable future.

- T4 is gaining adoption by different Microsoft teams (Entity Framework team, ASP.NET team, etc) and their new products will use T4, meaning you will only have to learn one code generation technology and you will feel “at home” when using Visual T4 products to work with both, the code templates from these teams and your own templates.

We can also proudly say that we’re fully integrated within Visual Studio, and we really mean integrated here, REALLY (not a definitive list but just a few that I’ve on top of my head now):

- Use of a single IDE (Visual Studio) no switching back and forth between Visual Studio and a boring custom IDE.

- No custom-buggy-parser for a custom-buggy IntelliSense experience; we offer you the same VS experience you are used to when writing C# code.

- Use a friendly DB-metadata browsing APIs to easily generate code from databases.

- Drag and drop a database or table from Server Explorer or a XSD/XML file from Solution Explorer and start writing code against it.

- Generate multiple output files from a single template, and easily add them to a solution or project by using our simple VS integration APIs.

- Play nicely with MS Build

- Use the Properties window to set the values for your template with a few clicks.

How does the Visual T4 Code Generator edition differentiate in features from the Visual T4 Editor Professional edition? Please read here to find out. Note the feature list is not final (we’re at alpha).

We’ve also posted a few videos featuring some of the features found in the alpha, if you’re curious enough, please find them here.

If you have any questions, feedback, etc, please let me know, we really value all feedback and we do take the time to respond.


Extending the Visual Studio 2010 Editor: not exactly a good first impression

I know this is the Visual Studio 2010 *CTP* meaning it's a very early release but still I feel quite a bit disappointed about the experience for developing extensions for the new editor.

While other features of Visual Studio 2010 are not mentioned nor supported at all in this CTP, the editor includes several walkthroughs on how to extend it and as I've found here, there is a custom VS SDK build custom made to support editor extensions scenarios. Also, the editor has its own forum for feedback.

With all this you would believe that there is a lot of interest from MS on gathering feedback and letting people trying out the new editor bits. And I do believe they sincerely meant this, but... the current experience is really UGLY.

The current CTP suffers from two major issues: 1) if you copy an extension while VS is running, VS will crash and 2) there is no such a thing as an "Experimental Hive" for the "Components" folder (this is where you copy extensions) meaning all files in there will get loaded up and thus locked by VS, so everytime you need to copy a new version (which is basically everytime you compile) you need to shutdown VS, overwrite the files and restart VS.

This is how the current development workflow for writing extensions looks like:

1) Write code, compile code
2) Shutdown VS
3) Copy DLLs to "Components" folder
4) Restart VS, try out the extension
5) Shutdown VS
6) Delete DLLs from "Components" folder
7) Change 1 line of code? Go back to 1) and repeat all over again...

As you can notice the above includes shutting down VS twice in order to try out even the very smallest changes...

Writing VS extensions (in VS 2008 and earlier) is already very-very hard so what one would expect in VS 2010 is nothing but stuff that simplifies this, and I'm betting the new managed editor APIs will help in this regard, so it's a real pity this "restart-VS-twice-for-every-compilation" wasn't fixed before the CTP went out...

I'm wishing this gets fixed in the next drop that is made available.

My Favorite Error Message from Visual Studio 2010 CTP

I swear I wasn't doing anything against the law when I got this nice error dialog:



Looks like the pBuffer variable is important enough inside VS as to get its own dialog! :-)

Entity Framework to adopt T4 for code generation in v2

Yesterday the Entity Framework team announced at PDC08 that they will based all their code generation on the Microsoft built-in T4 technology. This is great news as it will allow deeply customization of the generated code.

If you're new to T4 you should read Scott Hanselman's post on T4 as your starting point on what resources are out there.

And of course, if you're authoring T4 templates, you can't miss the Clarius T4 Editor!.

The New Visual Studio 2010 Code Editor

As you may have already heard Visual Studio 2010 will include a *new* code editor completely *rewritten* in fully managed code and based on *WPF*. Yaay!. Very, very promising stuff.

I just fired up the bits I received at the PDC08 and went Help->About Box, and looks like they haven't put much cycles into it yet -which is expected for a CTP release- and it's funny how are the calling it right now... "Text" (very humble!) with a somehow confusing description of "WPF Editor" and an ugly stock icon stolen from someplace.


I'll be playing with the new editor and extending Visual Studio 2010 for the next couple of days so stay tuned if you are into extensibility or just want to know about the latest news of Visual Studio 2010!

Wishing for dev10: Get rid of PLK, SLK, DLK and anything ?LK

Today one very annoying thing you've to do when you want to deploy your Visual Studio Package extension is to get a PLK or "Package Load Key" from Microsoft.

This is a painful process which can be divided into two equally painful parts:

Pain #1: Get yourself a PLK

For this you have to use a MS Website which used to be really bad at doing its job. For example, data you entered for your key was not available for reviewing later on and sometimes you never received the email with the requested key... we're talking very basic stuff, which was just not working properly.

The good news is they replaced the old website (delete C:\QuickAndDirtyWebAppCodedInFiveMinutes\*.*) with this single page which besides being much more friendlier than the original website it also... works!!

Pain #2: Debug your PLK

So after struggling (if you had to use the old website) to get yourself a PLK you still were left with the job of debugging it. Which wouldn't be that bad if it wasn't because the really poor support offered by Visual Studio logging then attempting to load your packages which basically was reduced to:

"Hey, I cannot load your package, sorry!".

A package load failure could be caused for a variety of reasons which Visual Studio can currently detect but just logs them in an unfortunately generic way. This requires of some obscure PLK troubleshooting time (some of it very hard to guess as "Is the crypto service running?") that translates to wasted hours.

And to add more to an already unfriendly process Visual Studio 2008 has three different kinds of Load Keys:

1) Package Load Key (PLK) to deploy your VS packages to end users
2) Developer Load Key (DLK) installed by the VS SDK so you can develop and run packages without a proper PLK in place
3) Shell Load Key (SLK) to deploy your VS-Shell based applications

My whishes for dev10 (or "Visual Studio 2010" if you like longer names) are the following:

1) Please don't invent a 4th ?LK to add to the previous three, there are more than enough already!
2) Please just kill the existing three key types and remove extensibility developers the need to go through this pain at all.

Infacta & GroupMail: They Suck Big Time

I wanted to post this to alert other people about this company.

I brought GroupMail Business Edition for $299 several months ago, it was version v5.2.0.54 then. I never got a chance to use it until now, so I headed to the Infacta website to download the bits and I found a funny:

"Your access has expired, you need to purchase extended protection to keep access"

Expired? My access?

So I got the support page and tried contacted Infacta through one those ugly designed web-based Contact Form, needless to say I never received a reponse back.

I then decided a phone call should work better so I looked up Infacta's telephone number in the US 1-866-641-8281.

A nice lady gently told me that the person who could help me was OOF until the next day. Not a problem, I already wasted some time here, but I can wait one more day.

Another phone call, and... the same story again "this person is OOF". Ok... I will call tomorrow...

Needless to say, my 3rd call didn't have any luck, they guy was still not there. And what got me a little bit more upset was a "He usually work only in the mornings" (why in the world I wasn't told about this before?)

With the last traces of patience I was left with I said: "Ok, I only need a simple download location, this couldn't be that hard, there should be other people knowing where I can download this from".

No luck again, "I'm only a receptionist" and "there is only one person from Infacta working here" were the two sentences that killed my last hopes.

Almost I week lost... let's email them now... which I should have probably done so to begin with but one would think a quick phone call should do faster...

A funny guy from sales responds to my query indicating that "You need to pay $85/year for a protection upgrade to get your download link restored. This is because you have v5.2.0.54 and current version is v5.2.0.65"

What?!?! C'mon... I don't want any freaking upgrades nor protection, I'm asking only for exactly the same freaking installer corresponding to the version I purchased months ago".

You want to charge me a couple of bucks for a download as a "media" reposition, ok good go ahead, I will still feel you're ripping me off... but $85/year... to get access to the freaking bits I already purchased...

Bottom-line of the story: if you're ever brave enough to do business with Infacta just make sure you do download the bits you're purchasing ASAP otherwise they will attempt to rip you off selling additional upgrade-protection-whatever you don't need nor want.

T4 Editor v1.0 RTM finally available!

After lots and lots of hard work I'm very proud to announce that my team shipped v1.0 of the Clarius T4 Editor today.

We've been insanely struggling to get the bits finished during the last few months; you know, extending Visual Studio for simple stuff is far from trivial let alone extending it in some crazy ways like reusing the existing C# infrastructure. Nothing but lots of "fun"...

I've received lots of pings from people asking how the editor will be available, so this is the story:

We're offering a Community edition, featuring basic T4 IntelliSense and syntax coloring, for free as in beer. And we're offering a paid Professional edition too, including a few more extra features plus our King feature which is support for embedded C# code blocks. If you're interested into finding how these two editions compare you can find a summary here.

They say a picture is worth a thousand words so I'm trying to save some typing by using this picture:

image  image


Now imagine how much your productivity will improve and what are you going to do with all the time you will save thanks to using the T4 Editor. :)

Posted by vga with 2 comment(s)

VSX Devcon: All about extending Visual Studio

If you are into extending the best IDE ever you already know that is not an easy task.

You will find challenges all day (some days just too many of them...) and you may spend an entire day (or a couple of them...) trying to accomplish even the most trivial things. Don't feel frustrated, you're not alone.

The good news is there is a dedicated team trying to change this and they've put up a 2-day conference filled with exclusive content on extending VS.

The admission price is an incredible low $100 so you really need a good excuse not to register.

At least four guys from Clarius (including me) will be attending it. If you're planning to do so too drop me a note so we can share our "extending VS" experiences, the good ones and the bad ones.

Posted by vga with no comments
Filed under: , ,

T4 Editor: some teasing pictures!

We're receiving emails everyday asking us about the status of the T4 Editor. The news is we're still working on it and we're making some great progress!

Just so you can check the wait is being worth it, I'm posting here a few screenshots that showcase the main feature we're working on, which is full support for embedded code blocks, that is, the same great support you get today from the ASP.NET editor when embedding C# or VB code.


 t4editor01 t4editor02 t4editor-bracematching

 t4editor-codesnippets  t4editor-memeberoverloads

t4editor-SyntaxErrors t4editor-ErrorList

Posted by vga with 12 comment(s)
More Posts « Previous page - Next page »