Komponente in bestimmtem VS-Editor öffnen


Thomas Wölfer
Thomas Wölfer

11. Juni 2004


Welchen Editor Visual Studio zum öffnen von Dateien verwendet ist zum einen von der Dateierweiterung, zum anderen aber auch vom Inhalt der Dateien abhängig.

Enthält eine C# Datei beispielsweise eine Klasse die ‚designable’ ist, dann wird per Default der Forms-Designer zum öffnen verwendet. Das ist bei Files die von Windows.Forms abgeleitete Klassen enthalten auch meist das was man will – nur sind eben auch von System.ComponentModel.Component abgeleitete Klassen ‚designable’.

Allerdings haben solche Klassen gar kein UI das man tatsächlich editieren könnte. (Man kann zwar andere Komponenten aus der Toolbox auf die Komponenten ziehen wenn Sie im Forms Editor angezeigt wird, aber das wird wohl kaum der Normalfall der Arbeit mit solchen Files sein.)

Man kann aber einfach auf Quellcode-Ebene festlegen mit welchem Editor eine bestimmte Datei geöffnet werden soll. Dazu gibt es das DesignerCategory Attribut. Um zum Beispiel eine eigene Komponente immer im Code-Editor zu öffnen, müsste man das Attribut wie folgt verwenden:

[System.ComponentModel.DesignerCategory(„Code“)]
public class MeineKomponente : System.ComponentModel.Component
{
  // etc.

Dank an Ian Griffiths