index > Visual Studio Team System - Domain-Specific Language Tools > What one-shot recipes would you add to DSL Designer?

What one-shot recipes would you add to DSL Designer?


If we were to add some recipes to the DSL Designer in future to automate some one-shot code and model customizations, what features would you most want automated?


Gareth Jones - Developer - DSL Tools & Software Factories Platform [MSFT]
GarethJ - MSFT

adding a command to a shape's context menu (or any menu)- would gather info and handle updating the ctc file and stub out the callbacks

Matt Smith

I've split the suggestions into two lists: things you would only want to do once per target designer, and things you might want to do multiple times.

One instance per designer
* Adding Visual Studio Options page / IProfileManager support
* Adding IVsExtensibleObject support
* Adding a custom singleton resource manager
* Adding splash-screen support

Multiple instances
* Adding custom unit tests (e.g. to test a rule: load a model, set a property, check the rule fires. Ditto validation methods)
* Adding rules
* Adding validation methods
* Adding custom property descriptors
* Adding skeleton UITypeEditor/ TypeConverter implementations
* Generating "custom" code stubs when required by model definition (e.g.when setting ConnectionBuilder.IsCustom=true, or LinkConnectorDirective.UsesCustomConnect, DomainClass.HasCustomConstructor, DomainTypeDescriptor.CustomCoded etc).
* Generating double-derived class files (and set the appropriate "GeneratesDoubleDerived" in the model).
* Adding custom geometry shapes

Just having code snippets for some of these would be useful, although recipes would be better.

Also, I guess there may be circumstances in which you could use a recipe to add an additional text template as well as just adding "static" code e.g. the user could add a profile management "chunk" that provides a (generated) standard implementation that would be updated if the model changed, and which they could customize/extend in the normal way via partial classes / double-derived classes. This would be an alternative to adding the functionality to the base solution template used to create the target designer, and would allow the user to choose which additional / non-standard bits of functionality they wanted.

Duncan

DuncanP
I really whant to have intellisense for templates files. I mean colloring and suggestions at least.
Evgeny Popov
To Evgeny:
You can get some of that from Microsoft Guidance Automation Toolkit (GAT),

install the add on from here and rename your templates to *.t4 and you're good to go. Though there isn't much help in Intellisence (code completion), but coloring and such.

http://msdn.microsoft.com/vstudio/teamsystem/Workshop/gat/default.aspx

Oh and you might have to reset the Experimental Hive to get it to work fully.

There was a thread on it on the forums, can't find it atm (with just a quick search).



- Christian Willumsen
Christian Willumsen

Hi Christian,

Thank you for an answer. But I have T4Coloring Add-in, and as you said it is not much help. I actually looking for code completion.

Evgeny

Evgeny Popov
Add ModelElement and Shape: This should add the new model element, a new shape, and make the mapping. (a wizard may be needed to choose the shape type)

Same for relationships.
leovernazza
reply 7

You can use google to search for other answers

 

More Articles

How to remove non application menu-items from the context menu
class factory
Problem with the VS SDK March 2006
Migrating between languages
Relationship representation
Decorator for Compartments
How it the class mentioned in directiveprocessor loaded?
How to Calculate a property's value
DSL Toolkit and VSIP License?
Licensing & pricing
Welcome to Bokebb   New Update   Joins the collection  
 

New Articles

Has the hosting question been resolved?
Prevent generated DSL code from producin…
Welcome to the Domain-Specific Language …
DSL and XMI interchange format
Defining custom multiplicities
Using DSL tools outside VS
DSL Tools Team HIRING in Cambridge, UK
DSL Tools November CTP now available
Preventing model elements from being del…
Use of the TextTransform tool
Using Pictures
Orchestration Features
Business Case
Why the f$%^&* does the DSL tools as…
Jochen Seemann's presentation on PDC05

Hot Articles

Cannot add Reference shape to DSL Diagram
Why the f$%^&* does the DSL tools as…
DSL for existing descriptive language
RelationShip ZeroOne-ZeroMany as property
DSL Tools vs VSTS designers
How to Limit Number of Connectors Betwee…
Finding the associated presentation elem…
Migrating to May CTP: MissingManifestRes…
Name of new elements
Package Load Failure - ...TextTemplating…
Retrieving embedded elements
Why must the ShapeField's value be assoc…
Moving DSL Project to another machine
How can I add existed DataBase scheme to…
Setup & life cycle

Recommend Articles

Domain model designer
Using existing Enumerations
Adding/Removing elements in domain model
Domain Model Definition Schema
how can i get a Service into T4 textempl…
Installing DSL Tools Nov CTP Release
Retrieving embedded elements
Announcing: SharpLudus, a software facto…
Error in "Domain-Specific Language …
Own shape decorators
Multiple viewpoints/ zoom in, zoom out
Are these known problems
TextTemplatingFileGenerator now fails to…
Language name has to start with capital …
Getting validation results