Visual Studio: Legen Sie den Ansichtscode als Standard fest

142

Gibt es eine Möglichkeit, Visual Studio dazu zu bringen, standardmäßig den Code eines Steuerelements / Formulars anstelle des Designers anzuzeigen? Ich neige dazu, kein Fan der Designer zu sein, wenn sie aufblähen.

smack0007
quelle
Ich verstehe, dass Sie View Code als Standard festlegen möchten, aber ich verstehe nicht, was dies mit "Aufblähen" zu tun hat. Wie auch immer Sie den Code bearbeiten, er "landet am selben Ort" (wie meine Mutter immer sagte)
JoelFan
Der Designer weist fast jede Eigenschaft jedes Formularelements zu, auch wenn dies die Standardeinstellung ist. Sie haben viel Code, nur um einfache Dinge zu tun. Ich verstehe, dass es einen Anwendungsfall dafür gibt, aber wenn ich nur ein einfaches Formular mit ein paar Schaltflächen habe, kann ich das von Hand codieren.
smack0007
1
@SplashHit: Mein größtes Problem beim Öffnen von Code in der Entwurfsansicht ist standardmäßig, dass VS jede c # -Klasse mit dem Attribut [RunInstaller] in eine Designer-Klasse
konvertiert
1
Ich habe diesen Tipp für ASPX-Dateien verwendet. Es ärgert mich ohne Ende, wenn der Designer aus zwei Gründen geöffnet ist: Es ist sehr langsam, wie die meisten GUI-Komponenten, und es ist viel langsamer, damit zu arbeiten (ich kann das Markup im Allgemeinen schneller [und sauberer] eingeben, als ich die Steuerelemente finden konnte in der Toolbox oder im Designer und legen Sie die Eigenschaften im Eigenschaftenbereich fest.
Bambams

Antworten:

251

Klicken Sie mit der rechten Maustaste auf eine Datei und wählen Sie "Öffnen mit ...".

Wählen Sie "CSharp Editor" und klicken Sie dann auf "Als Standard festlegen".

Jon Skeet
quelle
5
DANKE! Das hat mich verrückt gemacht.
DougN
Ich bin mir ziemlich sicher, dass ich die Option "Öffnen mit ..." nicht hatte, bis ich die TF Power Tools installiert habe.
Desillusioniert
Diese einfachsten Dinge spielen manchmal auf uns an ... aber danke, das hat mich auch verrückt gemacht.
Lorenz03Tx
1
@ user16547: Nun, suchen Sie nach etwas, das im Grunde ähnlich aussieht. Wenn Sie nicht weiterkommen, stellen Sie eine neue Frage mit weiteren Details.
Jon Skeet
1
@ JonSkeet Eigentlich habe ich mir die falsche Frage angesehen. Ich wollte einen Weg finden, direkt zur CS-Datei und nicht zur ASPX-Datei zu gelangen. Wenn ich mit der rechten Maustaste auf die ASPX-Datei klicke und zu "Öffnen mit" gehe, gibt es keinen CSharp-Editor, aber wahrscheinlich, weil es eine andere Situation ist.
Async
8

Dekorieren Sie Ihre Klasse mit [System.ComponentModel.DesignerCategory ("")], z.

[System.ComponentModel.DesignerCategory("")]
public class MySpecialButton : System.Windows.Forms.Button
{
}
gmb
quelle
Ja! Dies ist eine bessere Lösung, wenn Sie sie nur für eine Klasse festlegen möchten, nicht als GLOBAL-Einstellung. Lustige Sache ist, dass es nicht funktioniert, wenn Sie [DesignerCategory ("")] schreiben und mit System.ComponentModel hinzufügen.
Szybki
Dies sollte die akzeptierte Antwort sein, andernfalls verlieren Sie "Code anzeigen" und die Möglichkeit, den Designer auf der ganzen Linie zu verwenden. Auf diese Weise können Sie dies auf granularer Ebene tun (z. B. für geerbte Benutzersteuerelemente).
Patrick
5

Ich mag es, wenn meine Formulare in der Entwurfsansicht geöffnet werden, aber ich habe eine Teilklassendatei erstellt, die nur Code enthält, und Visual Studio wollte sie die ganze Zeit in der Entwurfsansicht öffnen. Um zu verhindern, dass Visual Studio erkennt, dass eine bestimmte Quelldatei von Designer geladen werden kann, suchen Sie in der csproj-Datei nach dem Compile Include-Tag der entsprechenden Quelldatei und entfernen Sie das darunter liegende SubType-Tag.

ajs410
quelle
auch: <SubType> Code </ SubType>
Ingenieur
5

Ich bin kürzlich selbst auf dieses Problem gestoßen, und die oben genannten Lösungen haben mein Problem nicht gelöst. Ich musste Tools | Optionsdie Einstellungen für HTML Designerauf ändern Enable HTML designerund auswählen Start pages in: Source View.

Screenshot der Einstellungen

Aaron Palmer
quelle
Ich musste zu WebForm Designer gehen, aber das hat es im Wesentlichen für mich
getan