Visual Studio erweitern - Wie fange ich an?

Unter VSX versteht der versierte Anwender Visual Studio eXtensibility - wodurch sich das Akronym erklärt - also die Erweiterung der IDE. Auf der Suche nach einem geeigneten Editor für MAML, das von Microsoft mit Vista eingeführt wurde und als Grundlage für das neue Hilfesystem dient habe ich leider nicht viel gefunden. Hier entstehen für mich als unbedarften Leser zwei Fragen.

  1. Warum suche ich einen Editor für MAML?
  2. und was hat das mit VSX zu tun?

Antworten:

  1. Ich suche nach einem solchen Editor, weil ich damit meine Dokumentation für meinen Sourcecode erstellen will. Das will ich deshalb in diesem Format tun, weil Sandcastle diese Dateien verarbeiten kann und daraus zu meiner Referenzdokumentation auch noch zusätzliche Informationen in einem klar strukturierten Markup erstellen kann. Das sieht nicht nur sehr schön aus, sonder lässt sich dann auch wunderbar automatisieren.
  2. Nachdem ich auf dem Markt (OpenSource und kommerziell) nichts gefunden habe, hatte ich mich drauf und dran gemacht Informationen zu sammeln, wie ich so etwas ins Visual Studio integrieren kann. Ich als Entwickler will ja nach Möglichkeit alles aus einer Hand haben. Was liegt also näher. (SHFB und DocProject werden mit dem nächsten Release entsprechende visuelle Unterstützung anbieten)

Ob sich nun daraus ein Projekt entwickelt oder nicht, mich hatte die Sucharbeit neugierig gemacht. Nun musste meine Entdeckernatur unbedingt wissen, wie so ein VSPackage mit einem eigenen XmlEditor zu erstellen ist. Das erste was ich fand war der Hinweis auf selbigen Namespace Microsoft.VisualStudio.XmlEditor. Dokumentation dazu habe ich keine gefunden; lediglich einen Artikel von Chris Lovett aus dem code-magazine. Hier stellt er ganz kurz und knapp vor, wie die neue Xml-API aussieht. Also gut, dachte ich mir und erstellte ein erstes VSPackage.Dann wollte ich eine Referenz dazu hinzufügen ... AddReferenz-> GAC. Aber nichts dergleichen. Kein Microsoft.VisualStudio.XmlEditor. Über die Windowssuche habe ich mir dann die Dll herausgesucht, den Pfad kopiert und dann die Referenz über den Suchen-Reiter hinzugefügt. Danach fing ich an, den vorliegenden Code zu analysieren. Irgendwann dachte ich mir dann. So kann das nicht angehen, das ist mir alles zu experimentell. Ich will etwas mehr dokumentierte Lektüre, oder Erfahrungsberichte. Und um das alles kurz zu halten, hier die Referenzen und ein kleines HowTo was alles notwendig ist, um mit VSX als völliger Neuling anzufangen:

 

  1. VS2008 SDK herunter laden und installieren
  2. LearnVSXNow! von Istvan Novak ist eine sehr gelungene und gute Einführung in die Welt der Visual Studio Shell und der Erweiterung selbiger. Er ist auch Author von LinqOverC#, einem Linqprovider für ein Codemodel im Visual Studio.
  3. Als sehr kompetente Quelle hat mir auch Pablo Galiano mit seinen Antworten im Microsoft Forum für VSX und seinem Blog geholfen. Er arbeitet bei Clarius Consulting und ist auf codeplex für Projekte wie das IronPyhtonStudio oder auch den StoryboardDesigner verantwortlich. Eine Übersicht der Projekte findet sich hier. Auf der code-Plattform findet man von ihm die PowerCommands for VS2008 oder LinqToCodeModel.
  4. Dem nicht genug, hat er auch noch ein weiteres Projekt gehostet. VSSDK Assist heißt es und ist eine Guidance Package Extension. Was das ist? Ein Automationsinterface für die VS IDE. Alles notwendige findet sich in den Prerequisist wieder.

Das sind genug Quellen und Informationen um sich erst einmal gute zwei Wochen damit zu beschäftigen. Viel Spaß damit. Wer Fragen dazu hat kann sich gerne bei mir melden.

Published Montag, 2. Juni 2008 14:55 von Rainer Schuster
Abgelegt unter: ,

Kommentare

# Weekly Links: ASP.NET MVC, .NET, ADO.NET Data Services, Silverlight, WPF… | Code-Inside Blog International

Ping Antwort von  Weekly Links: ASP.NET MVC, .NET, ADO.NET Data Services, Silverlight, WPF… | Code-Inside Blog International

# Wöchentliche Rundablage: ASP.NET MVC, .NET, ADO.NET Data Services, Silverlight, WPF… | Code-Inside Blog

Ping Antwort von  Wöchentliche Rundablage: ASP.NET MVC, .NET, ADO.NET Data Services, Silverlight, WPF… | Code-Inside Blog

Kommentar abgeben

(verpflichtend) 
(verpflichtend) 
(optional)
(verpflichtend)