Tag correspondant dans le raccourci clavier HTML
Y a-t-il un raccourci dans Visual Studio (2008) qui me permettra de passer à la balise HTML correspondante... comme le fait CTRL+] pour faire correspondre les accolades lorsque vous êtes en mode code?
Exemple:
<table> <tr> <td> </td> </tr> </table|>
Le curseur est sur la balise de table de fermeture et je voudrais appuyer sur quelque chose comme CTRL+] pour passer à l'ouverture de la balise de table.
Des idées?
7 réponses
Ok voici la réponse en tant que macro que j'ai construite qui le fait (bascule ) y compris aller au focus:
Voici la démo :
Et voici le code , profitez-en !
Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics
Imports System.Windows.Forms
Public Module Module2
Sub beginToEnd()
'Place cursor somewhere in beginning tag, run macro, to select from beginning to End Tag
DTE.ActiveDocument.Selection.SelectLine()
Dim objSel As TextSelection = DTE.ActiveDocument.Selection
Dim topPoint As TextPoint = objSel.TopPoint
Dim lTopLine As Long = topPoint.Line
objSel.GotoLine(lTopLine, False)
' DTE.ActiveDocument.Selection.StartOfLine()
DTE.ActiveDocument.Selection.SelectLine()
Dim line1 As String = DTE.ActiveDocument.Selection.Text()
If InStr(line1, "</") Then
' MsgBox(line1)
DTE.ExecuteCommand("Edit.ToggleOutliningExpansion")
DTE.ActiveDocument.Selection.EndOfLine()
DTE.ActiveDocument.Selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstText, True)
objSel.GotoLine(lTopLine, False)
DTE.ExecuteCommand("Edit.ToggleOutliningExpansion")
DTE.ExecuteCommand("Edit.ToggleOutliningExpansion")
Else
DTE.ExecuteCommand("Edit.ToggleOutliningExpansion")
DTE.ActiveDocument.Selection.EndOfLine(False)
DTE.ExecuteCommand("Edit.ToggleOutliningExpansion")
End If
DTE.ActiveDocument.Selection.SelectLine()
Dim line2 As String = DTE.ActiveDocument.Selection.Text()
Dim objSel3 As TextSelection = DTE.ActiveDocument.Selection
Dim topPoint3 As TextPoint = objSel3.TopPoint
Dim lTopLine3 As Long = topPoint3.Line
objSel.GotoLine(lTopLine3, False)
DTE.ActiveDocument.Selection.StartOfLine(vsStartOfLineOptions.vsStartOfLineOptionsFirstText, False)
End Sub
End Module
Je recherche et je n'ai pas trouvé de raccourci direct. Mais vous pouvez utiliser..
Si vous voulez commencer à faire correspondre la balise HTML, suivez les étapes ci-dessous.
- Placez le curseur à la fin de la balise HTML correspondante.
- Appuyez sur Ctrl+M+M [À l'Effondrement de l'ensemble de la balise]
- Appuyez sur accueil Touche [pour placer le curseur sur avant de commencer tag]
- Appuyez sur Ctrl+M+M [Pour Développer ensemble de la balise]
Si vous voulez aller mettre fin à la correspondance Tag HTML, puis suivez les étapes ci-dessous.
- Placez le curseur au début de la balise HTML correspondante.
- Appuyez sur Ctrl+M+M [À l'Effondrement de l'ensemble de la balise]
- Appuyez sur la touche End [pour placer le curseur à côté de la balise de fin]
- Appuyez sur Ctrl+M+M [Pour Développer ensemble de la balise]
Dans Visual Studio 2015, Ceci est maintenant pris en charge avec les frappes habituelles correspondant aux crochets;
-
ctrl+]
saute de la balise de début à la balise de fin. -
ctrl+shift+]
sélectionne tout ce qui se trouve entre la balise de début et la balise de fin.
Cela semble assez sensible, cependant, et pour sélectionner une balise entière et son contenu, vous devez commencer directement sur le <
qui ouvre la balise.
Dans Visual Studio 2012, dans la vue' source', juste en bas de la fenêtre du document, il y a une description de style breadcrumb-trail du DOM. Vous pouvez cliquer à tout moment pour sélectionner.
Ce n'est pas un raccourci clavier, mais il vous donne le comportement de sélection que vous recherchez, et vous n'avez plus besoin de faire correspondre les balises à l'œil nu.
(Edit) si vous survolez le fil d'Ariane, vous verrez une flèche déroulante. Cliquez sur la flèche vers le bas et cliquez sur "Sélectionner le contenu de la balise". Ensuite, vous pouvez faites simplement défiler vers le haut ou vers le bas jusqu'à ce que vous trouviez du texte qui n'est pas mis en surbrillance.
Cela fonctionne totalement lorsque vous ouvrez un fichier HTML avec L'éditeur XML (clic droit -> Ouvrir avec... -> XML Editor).
Non, vous ne pouvez pas le faire dans Visual Studio 2010, pas dans la version actuelle ou dans les versions plus anciennes. Peut-être que la prochaine version aura cette fonction.