Sign in
[Profoundly Esoteric Image]
GarethJ's WebLog - Code generation and abstraction
Translate This Page
Translate this page
Powered by
Microsoft® Translator
Tags
Built with DSL Tools
Code Generation
Code samples
Community
DSL Tools
Enterprise Development
Fun
Metablog
Modeling
Pages
Razor
Sounding off
SP1
T4
Tech thrills
The real world
UML
Visual Studio
Visual Studio 11 Beta
Visual Studio 2012
VSX
Browse by Tags
MSDN Blogs
>
[Profoundly Esoteric Image]
>
All Tags
>
code samples
Tagged Content List
Blog Post:
VS2010 SP1: T4 Improvements Summary
GarethJones
Over the last few posts, I've talked about the exciting improvements we've made to T4 Text Templating in Service Pack 1 for Visual Studio 2010. Here's a quick roundup: Firstly, T4 no longer locks referenced assemblies in memory , meaning it's much easier to use reflection in T4 templates and to use compiled...
on
14 Jan 2011
Blog Post:
VS2010 SP1: T4 Template Inheritance Part IV – Regular template inheritance
GarethJones
I promised in the last post that I’d show how to do template extensibility and customization using inheritance with regular templates, rather than the preprocessed kind, so here goes. The preprocessed solution was a three-layer design. The base preprocessed template, DataClass.tt provided the code generation...
on
4 Jan 2011
Blog Post:
VS2010 SP1: T4 Template Inheritance Part III – Customizing The Template
GarethJones
Last time, in Part II , I described a highly structured approach to creating and harnessing a preprocessed template to generate a simple C# class from metadata. I put lots of nice extensibility points in that template and now we’re going to exploit them to show how easy it gets to be to customize a template...
on
3 Jan 2011
Blog Post:
VS2010 SP1: T4 Template Inheritance Part II – The Core Template
GarethJones
Last time , I outlined my scenario – we have a template that produces a very vanilla C# class from metadata and we’d like to customize it to produce something more directly applicable to our current project. Of course, we could always just copy the standard template into our project and...
on
3 Jan 2011
Blog Post:
VS2010 SP1: T4 Template Inheritance Part I – Sample Metadata
GarethJones
We’ve done a bunch of work on T4 in Visual Studio 2010 SP1 to enable template inheritance. A reasonable question at this point would be “Why would you want inheritance in your text templates?” Well, the typical reason would be the same as with any other code – because you want reuse and extensibility...
on
3 Jan 2011
Blog Post:
Bending T4 to be a textual DSL host
GarethJones
The estimable MVP and T4 enthusiast, Kathleen Dollard has a new post where she's using T4's ability to spit arbitrary text as a host for a textual DSL. She's set up a small DSL for describing contract interfaces for a MEF framework: new Interface() { Name = "ISearchModelBase" , Scope = Scope.Public,...
on
11 Mar 2010
Blog Post:
WPF, DSL in Visual Studio 2008
GarethJones
Although data-binding to WPF is a feature of DSL Tools in Visual Studio 2010, that hasn’t stopped our vibrant community from hacking away to get results today with VS2008. Have a look at this selection of posts: Using WPF As The Designer Surface In DSL Tools Provide an improved user experience to your...
on
23 Sep 2009
Blog Post:
Nice step-by-step on adding a menu to DSL Tools 2008
GarethJones
Sebastian Talamoni has a nice guide to adding a menu using a vsct file. Technorati Tags: DSL Tools , VSX
on
11 Nov 2008
Blog Post:
New DSL Tools lab
GarethJones
Jean-Marc has just released a complete walkthrough of DSL Tools for Visual Studio 2008 aimed at DSL beginners as a lab on CodeGallery. Here you can see the language from the lab designing mouse gestures for manipulating primitives in a simple graphics program. Very nice indeed. Technorati Tags: DSL Tools...
on
11 Nov 2008
Blog Post:
DSL Book samples updated for Visual Studio 2008
GarethJones
It's taken us a little while, but the code samples for our book, Domain-Specific Development with Visual Studio DSL Tools, are now updated for Visual Studio 2008. You can download them from www.domainspecificdevelopment.com . Woo Hoo. Enjoy. Technorati Tags: DSL Tools , Code Samples , VSX , Domain-Specific...
on
22 Jul 2008
Blog Post:
Tidbit for squeaking customization of DSL Add... menu items
GarethJones
I've answered this a couple of times internally, so I thought I'd better post it. The Add... menus in DSL Designers are dynamically generated from the ElementMergeDirective data you supply as part of your model. For example, if you say that a domain class Door can be merged in to a domain class House...
on
19 Mar 2008
Blog Post:
Underexplored VSX Nuggets Vol #37: How a DSL Diagram is rendered
GarethJones
This is an area I always have to remind myself of every time someone asks a question, so I thought I'd better write it up. Essentially there are four layers involved: Starting in the middle and working outwards, the classes' responsibilities are as follows: Diagram - This is the logical representation...
on
13 Feb 2008
Blog Post:
Transforming DSL Setup T4 templates from the command line
GarethJones
With DSL Tools, we supply a tool called TextTransform.exe to run the T4 text templating engine from the command line. This is useful for creating batch builds or bulk transformation scripts. However, it needs a lot of parameters to get it to run, because it needs the context of where to load various...
on
14 Aug 2007
Blog Post:
How to take charge of DSL Tools swimlane ordering
GarethJones
In a question on our forum , Michael Ruck asks: I have the following situation: A neural network consists of multiple layers (modelled using swimlanes.) There are three types of layers: Input, Hidden and Output layers. I'm basically done with the modelling, but want to restrict the order of these layers...
on
22 Feb 2007
Blog Post:
Using a non-string property as an element name
GarethJones
By default, DSL Tools V1 uses domain properties of type "string" as names for its elements. If you try to use a property of some other type, for example Int32, you'll get the following validation message: "Error 1 Domain Property Name is marked IsName, but has type System.Int32. Unless it has an ElementNameProvider...
on
29 Sep 2006
Blog Post:
New samples posted for Domain Specific Languages Tools September CTP
GarethJones
Alan has just posted a whole bunch of code customization samples to work against the September CTP of the DSL Tools. These give you a flavour of a few things we'd expect our API to enable (although the API itself will change plenty before we ship V1). To quote the blurb: Use this sample...
on
19 Oct 2005
Blog Post:
Breaking changes to T4 Text Templating in the September DSL Tools CTP
GarethJones
We've made a couple of breaking changes to the interfaces exposed by our text templating engine in this CTP in the area of directive processors. These won't affect regular DSL Tools users, as after going through the May-September migration process your code will just work. (Note, all May CTP DSL...
on
20 Sep 2005
Blog Post:
Coopetition
GarethJones
Both my colleague Alan Cameron Wills and Steven Kelly from our esteemed competitor MetaCase have announced a joint workshop at the XP2005 conference in the UK. It's pretty nice to be able to work together to discuss and promote the parts of our respective visions that we share. Still, just...
on
24 May 2005
Blog Post:
Heap sample: Wrapping up
GarethJones
I thought I should wrap up my posts about the generic heap sample that I put together with a quick look through a few of the minor but interesting points it raised for me. CLS Compliance As the class has only generic interfaces, it can't be marked as CLS compliant, and also isn't visible to COM. If I...
on
5 Oct 2004
Blog Post:
Heap Sample: Conversion of enumeration code to use C# iterators
GarethJones
When I started, I thought that this might be a hairy part of the problem, but it turned out to be trivial. My guess was based on the fact that my original IEnumerator implementation maintains a version stamp from the collection that it is enumerating. Any operation on the collection increments its version...
on
5 Oct 2004
Blog Post:
Delegate methods on the Heap class
GarethJones
I shamelessly copied the delegate methods on my heap class from those on List . Delegate methods provide a step on the way towards enabling a separation in the collections programming model between structure and algorithm. You might express this as "what shape is a heap?" and "what operations can I perform...
on
5 Oct 2004
Blog Post:
Comparing ICollection and ICollection<T>
GarethJones
When examining the ICollection<T> interface prior to implementing on my Heap class, I was quite surprised, as it had changed rather more than I'd expected from the original ICollection interface. Here they are for comparison: [System.Runtime.InteropServices.ComVisibleAttribute(false)] [System.CLSCompliantAttribute...
on
17 Aug 2004
Blog Post:
Heap Sample: Comparing the new collection classes with the old
GarethJones
The first step in updating the Heap class to Heap<T> was to take a look at the new collections provided in Visual Studio 2005 Beta 1 to get an idea what the generic interfaces for collections look like. (The original Heap project was to implement a different collection type in a way as similar...
on
2 Aug 2004
Blog Post:
Modeling User Experiences, APIs and Tools
GarethJones
Hi, I'm Gareth Jones and I'm a developer in the architect team within the Visual Studio Team System group. I'm currently working on tooling and APIs for modeling. Previously within Microsoft, I've worked in a bunch of different roles, from building bespoke enterprise applications to dev consulting for...
on
12 Jul 2004
Page 1 of 1 (24 items)