Spalten-Hilfslinien im VS.NET-Texteditor

Veröffentlicht: 24. Okt 2005

Von Mathias Schiffer

Visual Studio .NET unterstützt Sie auf verschiedene Arten dabei, Ihren Code strukturiert zu gestalten. In diesem MSDN Quickie lernen Sie die nicht dokumentierte Option kennen, Spalten-Hilfslinien im Texteditor einzusetzen.

Zum gut lesbaren Code gehört neben einer angemessenen Kommentierung auch das äußere Erscheinungsbild. Für eine hilfreiche Strukturierung spielen besonders Einrückungen eine zentrale Rolle. Der Editor von Visual Studio .NET unterstützt Sie hierbei bis hin zur vollautomatischen Einrückung Ihrer Codes.

Doch nicht jeder mag es ganz so automatisch und selbst wenn, ist er vielleicht mit den von Microsoft vorgegebenen Einrückungen nicht in jedem Fall einverstanden (z.B. bei der lokalen Variablendeklaration). Und so unterstützt Visual Studio auch eine vom Anwender verwendete Einrückungstiefe - oder bietet gar keine Einrückungshilfe.

Gerade für die letzten beiden Fälle bietet sich eine weitere Option an, die zwar im Visual Studio .NET 2003 Texteditor vorgesehen ist, jedoch aus Visual Studio .NET selber heraus nicht zu nutzen ist: Sie können vertikale Hilfslinien verwenden und damit die Ausrichtung vereinfachen. Jede Hilfslinie lässt sich dabei an einer Spaltenposition festmachen. Sogar die Farbe für die Hilfslinien können Sie definieren (wenn auch nicht für jede Hilfslinie einzeln).

Um die Unterstützung für Hilfslinien zu aktivieren, bedarf es für Visual Studio .NET 2003 (auch als Visual Studio 7.1 bekannt) lediglich einer simplen Erweiterung der Windows-Registrierungsdatenbank (Registry). Im Zweig

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\7.1\Text Editor

legen Sie einen neuen Textschlüssel mit dem Namen "Guides" an. Der Textwert dieses Schlüssels setzt sich zusammen aus einer RGB-Farbangabe für die Hilfslinien (im Stil "RGB(R,G,B)") sowie durch Kommata getrennte Spaltennummern für die Hilfslinien (bis zu 13 dieser Spaltenwerte werden unterstützt). Ein Beispielwert mit fünf mittelgrauen Hilfslinien auf den Positionen 1, 4, 8, 16 und 32 wäre etwa: "RGB(128,128,128), 1, 4, 8, 16, 32".

Einen kleinen Haken gibt es allerdings: Für die Aktivierung dieses Registry-Eintrags in Visual Studio .NET ist jeweils ein Neustart der Entwicklungsumgebung erforderlich.

Beispielhaft sehen Sie in den folgenden Abbildungen einen Registry-Eintrag und dessen Wirkung im Vorher-Nachher-Vergleich:

Texteditor der Entwicklungsumgebung wie gewohnt
Abbildung 1: Texteditor der Entwicklungsumgebung wie gewohnt

Neuer Hilfslinien-Eintrag in HKEY_CURRENT_USER
Abbildung 2: Neuer Hilfslinien-Eintrag in HKEY_CURRENT_USER

Hallo Hilfslinien - nach VS .NET-Neustart
Abbildung 3: Hallo Hilfslinien - nach VS .NET-Neustart

Mit dem folgenden Code können Sie den Effekt ganz einfach selbst ausprobieren:

Public Sub TestGuidelines(ByVal Active As Boolean)
    ' Erzeugt bei Übergabe von 'True' beispielhafte Registryeinträge, die das
    ' Setzen von Spalten-Hilfslinien im Text-Editor von Visual Studio .NET
    ' 2003 demonstrieren. Rufen Sie diese Prozedur mit dem Argument 'False'
    ' auf, um den Registryeintrag wieder zu löschen und die Hilfslinien
    ' los zu werden.
    ' Um den bewirkten Effekt beobachten zu können ist jeweils ein Neustart
    ' der Visual Studio .NET-Entwicklungsumgebung notwendig.
  
    ' Übergabeparameter abfragen
    If Active Then
  
      ' Beispielhafte Spalten-Hilfsliniendaten in die Registry eintragen
      Microsoft. _
        Win32. _
          Registry. _
            CurrentUser. _
              OpenSubKey("Software\Microsoft\VisualStudio\7.1\Text Editor", _
                        True _
                        ). _
              SetValue("Guides", "RGB(128,128,128), 1, 4, 8, 16, 32")
  
    Else
  
      ' Spalten-Hilfsliniendaten aus der Registry löschen
      Microsoft. _
        Win32. _
          Registry. _
            CurrentUser. _
              OpenSubKey("Software\Microsoft\VisualStudio\7.1\Text Editor", _
                        True _
                        ). _
              DeleteValue("Guides")
  
    End If
  
  End Sub

Ein letzter Hinweis am Rande: Betroffen sind tatsächlich die TextEditor-Fenster der Entwicklungsumgebung - und zwar alle. Dazu gehören beispielsweise auch die Fenster "Befehlsfenster" und "Ausgabe". Dies ist sicherlich gewöhnungsbedürftig und motiviert eher dazu, die Hilfslinien eher nur bei Bedarf einzusetzen (etwa bei einer systematischen Formatierungsoffensive für einen Quellcode). Dieser Umstand ist auch der Grund dafür, dass die aufgezeigte Option letztlich keinen Eingang in die Konfigurationsdialoge von Visual Studio .NET 2003 gefunden hat.

Mathias Schiffer widmet sich als freier Technologievermittler und Entwickler großen Projekten ebenso wie arbeiterleichternden Alltagslösungen. Seit Jahren gibt er sein Wissen und seine Erfahrungen in unzähligen Publikationen und Beratungen auch an andere Entwickler und Entscheider weiter. Sie erreichen Mathias Schiffer per E-Mail an die Adresse Schiffer@mvps.org.