web-dev-qa-db-fra.com

Comment ouvrir des liens dans Visual Studio dans mon navigateur Web et non dans Visual Studio?

S'il y a une URL dans un commentaire de fichier source, je peux "CTRL + cliquer pour suivre le lien". Cependant, lorsque je fais cela, le lien s'ouvre dans Visual Studio. Comment puis-je l'ouvrir dans mon navigateur Web - dans mon cas, Google Chrome?

134
xofz

Il existe une extension qui fournit ce comportement appelé Ouvrir dans un navigateur externe . Il fonctionne dans Visual Studio 2012, 2013, 2015 et 2017. (Une ancienne version disponible sur GitHub prend en charge Visual Studio 2010.)

Merci à Dmitry pour l'avoir signalé dans sa réponse à cette question similaire.

EDIT: L'équipe de Visual Studio commence enfin à travailler sur la mise en place de ce droit dans Visual Studio. Le statut de la demande de fonctionnalité this vient de passer de "En cours de révision" à "Démarré".

63
mikesigs

Je n'ai pas trouvé de paramètre pour cela, j'ai donc écrit une macro simple que vous pouvez utiliser. Vous pouvez le lier à un combo de touches comme toutes les macros. Cela fera le travail jusqu'à ce que nous obtenions une meilleure réponse.

Sub OpenURLInChrome()
   'copy to end of line
   DTE.ActiveDocument.Selection.EndOfLine(True)

  'set var
   Dim url As String = DTE.ActiveDocument.Selection.Text

   'launch chrome with url
   System.Diagnostics.Process.Start( _
      Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) _
      + "\Google\Chrome\Application\chrome.exe", url)
End Sub

Placez simplement votre curseur devant l'URL et exécutez la macro ...

7
mracoker

Il s'agit d'une amélioration par rapport à la macro suggérée ci-dessus par mracoker.

Cette macro recherche une URL sur la ligne actuelle et ne capture pas le texte après l'URL comme l'a fait la réponse précédente.

Sub OpenURLInChrome()

   ' Select to end of line
   DTE.ActiveDocument.Selection.EndOfLine(True)
   Dim selection As TextSelection = DTE.ActiveDocument.Selection

   ' Find URL within selection
   Dim match = System.Text.RegularExpressions.Regex.Match( _
      selection.Text, ".*(http\S+)")

   Dim url As String = ""
   If (match.Success) Then
      If match.Groups.Count = 2 Then
         url = match.Groups(1).Value
      End If
   End If

   ' Remove selection
   selection.SwapAnchor()
   selection.Collapse()

   If (url = String.Empty) Then
       MsgBox("No URL found")
   End If

   ' Launch chrome with url
   System.Diagnostics.Process.Start( _
      Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) _
      + "\Google\Chrome\Application\chrome.exe", url)
End Sub

Pour utiliser: placez le curseur quelque part avant l'URL; Exécuter la macro (je mappé sur Ctrl-Maj-G)

5
Terrence

Mise à jour 2019: Toutes les réponses sont anciennes. Il existe maintenant une manière native de le faire dans les options de la communauté VS2019:

Options >> Web Browser

0
dylanh724