I am really proud to announce that finally StickyNotes Professional Edition is available for download.
There are two types of comments:
- Permanent comments
- Used for reference and code maintenance
- Usually describe an algorithm or why we just did something in a particular manner
- Temporary comments
- Used for personal purposes like reminders. Ex: //I need to verify this.
- Used to reflect something we need to do or complete. Ex: //TODO:
- Used for code review. Ex: // Please validate against null
- Written in the middle of the development and deleted before shipping the product
Permanent comments are part of the source code, committed to the source control system and visible by the entire team.
Temporary comments should not be part of the source code, should not always be committed to the source control system and sometimes should not be visible by the entire team.
Super features:
Enjoy it!!!
Pablo
The screencasts for the VSX Developer Conference 08 are live and can be downloaded from:
http://msdn.microsoft.com/en-us/vsx/cc676517.aspx
If you are interested in the session that I gave "How to extend Visual Studio and become a more productive developer" you can watch it @ http://channel9.msdn.com/posts/AnthonyC/How-to-extend-Visual-Studio-and-become-a-more-productive-developer/
Pablo
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
My eighteenth How do I is up.
Scenario
Let's say that we start from the Minimal Language DSL template and we have an ExampleElement domain class that has a Name domain property with the Is Element Name flag set to true.
Because it has the IsElementName flag, every time that we create a ExampleElement with the UI (toolbox or model explorer) the element is created with a default name. This default name is composed of the type name of the concept plus an index. Example : ElementName1, ElementName2, etc.
The focus of this How do I shows how to create the model element programmatically.
Interfaces and classes needed
Code snippet
Wrong way:
private void CreateElement(Store store)
{
using(Transaction tx = store.TransactionManager.BeginTransaction("Add ExampleElement"))
{
ExampleModel root = store.ElementDirectory.FindElements<ExampleModel>().First() as ExampleModel;
ExampleElement element =
this.Store.ElementFactory.CreateElement(ExampleElement.DomainClassId) as ExampleElement;
root.Elements.Add(element);
tx.Commit();
}
}
Right way:
private void CreateElement(Store store)
{
using(Transaction tx = store.TransactionManager.BeginTransaction("Add ExampleElement"))
{
ExampleModel root = store.ElementDirectory.FindElements<ExampleModel>().First() as ExampleModel;
ExampleElement element =
store.ElementFactory.CreateElement(ExampleElement.DomainClassId) as ExampleElement;
ElementOperations elementOperations =
new ElementOperations(store as IServiceProvider, store);
ElementGroup elementGroup = new ElementGroup(store);
elementGroup.Add(element);
elementGroup.MarkAsRoot(element);
elementOperations.MergeElementGroup(root, elementGroup);
tx.Commit();
}
}
Assemblies needed
- Microsoft.VisualStudio.Shell.Interop
- Microsoft.VisualStudio.Modeling.Sdk.Shell
- Microsoft.VisualStudio.Modeling.Sdk.Diagrams
Stay tuned,
Pablo
Here is the link with a high overview of the new features:
http://msdn.microsoft.com/en-us/vstudio/products/cc948977.aspx
Also take a look at channel9 all week
Pablo
Here are some pictures for the VSX Developer Conference with me in the front. :)
The videos are going to posted at MSDN 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