Weiß jemand, ob es in Visual Studio 2010 eine Möglichkeit gibt, Zeilen in CSS-Dateien wie bei allen anderen Dateien (durch Klicken auf eine Schaltfläche) hervorzuheben und auszukommentieren? Vielleicht eine Visual Studio Erweiterung? Sie manuell zu kommentieren ist umständlich.Gibt es in Visual Studio 2010 eine Möglichkeit, Zeilen in CSS einfach zu kommentieren?
Antwort
Leider sind die regulären Befehle zur Kommentierung und uncommenting (Ctrl +K + C und Ctrl +K + U) funktionieren nicht für CSS. Stattdessen müssen Sie ein Makro, das dies tut, aufzeichnen oder schreiben und es an Ihre eigene Verknüpfung anhängen.
Um den ausgewählten Text Kommentar (beachten Sie, das ist schnell und schmutzig und daher bemerkt es als ein einzelner Block):
Sub CssComment()
DTE.ActiveDocument.Selection.Text = "/*" + DTE.ActiveDocument.Selection.Text + "*/"
End Sub
aktualisieren
Diese neue unten mehr wie die regelmäßigen Kommentar Befehl funktioniert und Kommentare auf einer Zeile-für-Zeile-Basis. Es bedeutet, dass Sie den Text nicht vorher auswählen müssen. Dies macht auch alle Änderungen als eine einzelne rückgängig machbare Operation und überprüft die Dateierweiterung, so dass Sie dies der regulären Verknüpfung zuweisen können und es wird für alle Dateien funktionieren.
Sub CommentCss()
Dim ts1 As TextSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection)
Dim fileName = DTE.ActiveDocument.FullName
' We should default to regular commenting if we're not editing CSS.
' This allows this macro to be attached to the Ctrl+K+C shortcut
' without breaking existing file format commenting.
If Not fileName.EndsWith(".css") Then
DTE.ExecuteCommand("Edit.CommentSelection")
Return
End If
Dim weOpenedUndo As Boolean = False
If Not DTE.UndoContext.IsOpen Then
DTE.UndoContext.Open("CommentCSS")
weOpenedUndo = True
End If
ts1.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstColumn, True)
Dim ep1 As EditPoint2 = ts1.TopPoint.CreateEditPoint()
Dim ep2 As EditPoint2 = ts1.BottomPoint.CreateEditPoint()
While ep1.Line <= ep2.Line
Dim text As String = ep1.GetLines(ep1.Line, ep1.Line + 1)
text = text.Trim()
If Not text.StartsWith("/*") Or Not text.EndsWith("*/") Then
ep1.StartOfLine()
ep1.Insert("/*")
ep1.EndOfLine()
ep1.Insert("*/")
End If
Dim lineBeforeDown As Integer = ep1.Line
ep1.LineDown()
If ep1.Line = lineBeforeDown Then
Exit While
End If
End While
ts1.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstColumn, True)
If weOpenedUndo Then
DTE.UndoContext.Close()
End If
End Sub
Update für uncommenting
Dieses Makro führt die umgekehrte Aufgabe. Erneut ist er so implementiert, dass er bei Bedarf für alle Dokumente funktioniert, indem er die Dateierweiterung überprüft und den Standardbefehl Edit.UncommentSelection
für Nicht-CSS-Dateien verschiebt.
Sub UncommentCss()
Dim ts1 As TextSelection = CType(DTE.ActiveDocument.Selection(), EnvDTE.TextSelection)
Dim ep1 As EditPoint2 = ts1.TopPoint.CreateEditPoint()
Dim ep2 As EditPoint2 = ts1.BottomPoint.CreateEditPoint()
Dim fileName = DTE.ActiveDocument.FullName
' We should default to regular commenting if we're not editing CSS.
' This allows this macro to be attached to the Ctrl+K+C shortcut
' without breaking existing file format commenting.
If Not fileName.EndsWith(".css") Then
DTE.ExecuteCommand("Edit.UncommentSelection")
Return
End If
Dim weOpenedUndo As Boolean = False
If Not DTE.UndoContext.IsOpen Then
DTE.UndoContext.Open("UncommentCSS")
weOpenedUndo = True
End If
While ep1.Line <= ep2.Line
ep1.StartOfLine()
Dim text As String = ep1.GetLines(ep1.Line, ep1.Line + 1)
text = text.Trim()
If text.StartsWith("/*") And text.EndsWith("*/") Then
Dim epEndOfLine As EditPoint2 = ep1.CreateEditPoint()
epEndOfLine.EndOfLine()
text = text.Substring(2, text.Length - 4)
ep1.ReplaceText(epEndOfLine, text, vsEPReplaceTextOptions.vsEPReplaceTextKeepMarkers Or vsEPReplaceTextOptions.vsEPReplaceTextAutoformat)
End If
Dim lineBeforeDown As Integer = ep1.Line
ep1.LineDown()
If ep1.Line = lineBeforeDown Then
Exit While
End If
End While
ts1.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstColumn, True)
If weOpenedUndo Then
DTE.UndoContext.Close()
End If
End Sub
aktualisieren 18Oct2012
Per dirq's answer, gibt es eine Erweiterung, Web Essentials die CSS zu kommentieren und Auskommentierung bietet. Ich würde empfehlen, dies über die obigen Makros zu verwenden, da es neben CSS-Kommentarbefehlungen noch weitere großartige Unterstützung bietet.
STRG + K + C und STRG + K + U funktioniert nicht. Können Sie das Makro näher erläutern? –
@rdkleine: Arbeiten daran :) –
@Jeff Sweet! Sieht so aus, als wäre es ziemlich einfach, aber ich werde es dir beweisen lassen. :-D – jeremcc
Es gibt eine Erweiterung, die besser funktioniert als das Makro: Web Essentials. Hör zu. http://visualstudiogallery.msdn.microsoft.com/6ed4c78f-a23e-49ad-b5fd-369af0c2107f
- 1. Gibt es eine Möglichkeit, XAML mit Kommentaren zu kommentieren?
- 2. Änderungssets von der Quellcodeverwaltung in Visual Studio 2010 kommentieren
- 3. gibt es eine Möglichkeit, css Klassennamen, IDs und Elemente im css-Navigator-Fenster in Visual Studio 2010 zu sortieren
- 4. Gibt es eine Möglichkeit, die Suchbegriffe zu kommentieren? C#
- 5. Anzahl der Zeilen in Visual Studio 2010
- 6. Gibt es eine Möglichkeit, die Visual Studio 2010-style Pending Changes/Team Explorer in Visual Studio 2012 zu verwenden?
- 7. Gibt es eine Möglichkeit, eine Zeile in Visual Studio zu löschen, ohne sie zu schneiden?
- 8. Gibt es eine Möglichkeit, JavaScript oder CSS in Visual Studio 2008 zu reduzieren
- 9. Gibt es eine Möglichkeit, Visual Studio 2010 zur Unterstützung von XML Schema 1.1 zu bekommen.
- 10. Gibt es eine einfache Möglichkeit, eine Verbindungsnaht mit dem Buildsystem von Visual Studio 2010 einzurichten?
- 11. Visual Studio 2010. Gibt es eine Möglichkeit, alle Einstellungen sowie Makros und Plugins zu exportieren?
- 12. Django gibt es eine Möglichkeit, verschachtelte Objekte zu kommentieren?
- 13. Gibt es eine Möglichkeit, einen Auslastungstest in Visual Studio 2010 zu deaktivieren/zu ignorieren, ohne Testlisten zu verwenden?
- 14. Gibt es eine Möglichkeit, Quick Find in Visual Studio 2012 zu deaktivieren?
- 15. Gibt es eine Möglichkeit, eine Tabelle in einer DBML-Datei in Visual Studio 2008 zu finden?
- 16. Drucken in Visual Studio 2010
- 17. /LinkResource in Visual Studio 2010
- 18. Gibt es eine Möglichkeit, Visual Studio 2010 dazu zu bringen, Kommentare in die Spalte ganz links zu schreiben?
- 19. Gibt es eine Möglichkeit, Visual Studio 2010 zu verhindern, C# -Code in ASP.NET MVC-Ansichten zu formatieren?
- 20. Visual Studio 2010 Datenbankprojekt, gibt es einen visuellen Weg?
- 21. Quellverzeichnisse in Visual Studio 2010
- 22. Gibt es eine Möglichkeit, Objekte in Visual Studio 2012 auf dem Datenträger zu speichern?
- 23. Alternative zu Visual Studio 2010
- 24. Gibt es eine Möglichkeit, leere Zeilen in Matlab zu erkennen?
- 25. Visual Studio 2010 Klassendiagramm
- 26. Versionskontrolle in Visual Studio 2010?
- 27. Ist es möglich, NUnit in Visual Studio 2010 zu integrieren?
- 28. Gibt es eine Möglichkeit, Visual Studio Post Build Schritte
- 29. Gibt es eine Tastenkombination, um den Cursor zwischen Methoden in Visual Studio 2010 zu verschieben?
- 30. Kann Visual Studio 2010-Hilfe in Visual Studio angezeigt werden?
ctrl-k-ctrl-c funktioniert nicht? (Ich habe es nicht speziell für CSS-Dateien verwendet, also weiß nicht, ob es dort funktioniert) – jalf
+! Guter Punkt - ich habe das nie bemerkt, STRG + K + C funktioniert nicht und es gibt keine Menüoption zum Auskommentieren. – Fenton