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

136

S'il y a une URL dans un commentaire de fichier source, je peux "CTRL + clic 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?

xofz
la source
6
Des mises à jour sur cette question après 2,5 ans? Y a-t-il un meilleur moyen maintenant?
Borek Bernard
1
La réponse acceptée ne fonctionne pas pour Visual Studio 2012, a donc ouvert une nouvelle question stackoverflow.com/questions/13047914/…
Colonel Panic
11
Votez pour que cela soit corrigé dans VS ici .
Sam le
3
Une mise à jour à ce sujet après 4 ans?
Xonatron
2
Une mise à jour à ce sujet après 6 ans? :)
monstro

Réponses:

63

Il existe une extension qui fournit ce comportement appelé Ouvrir dans le 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 de l' avoir souligné dans sa réponse à cette question similaire.

EDIT: L'équipe de Visual Studio commence enfin à travailler pour mettre cela directement dans Visual Studio. L'état de cette demande de fonctionnalité vient de passer de «En cours de révision» à «En cours».

mikesigs
la source
Merci Mike! Une solution simple et agréable.
xofz
10
Merci pour la mise à jour Rob. C'est dommage que nous ayons encore besoin de l'utiliser dans VS2015.
mikesigs
1
Fonctionne également dans VS2017
Logerfo
Pour tous ceux qui se demandent, cela fonctionnera pour Visual Studio 2019, mais j'espère qu'ils l'incluent simplement.
SharpIncTechAndProgramming
7

Je n'ai pas trouvé de paramètre pour cela, j'ai donc écrit une macro simple que vous pouvez utiliser. Vous pouvez lier cela à une combinaison 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 ...

mracoker
la source
Je n'ai pas installé VB mais il semble que cela fonctionnera (s'il n'y a rien à la fin de la ligne après l'URL), en plus je déteste avoir des questions sans réponse, donc marquer comme réponse. Merci pour votre aide :)
xofz
2
@Sam: Vous n'avez pas besoin d'installer VB pour utiliser les macros Visual Studio. Ils utilisent simplement la même syntaxe.
Roger Lipscombe
Est-ce quelque chose que vous devez installer d'une manière ou d'une autre?
Colonel Panic
3
Il s'avère que Visual Studio 2012 ne prend pas en charge les macros, c'est pourquoi je n'ai pas pu l'installer. Essayez emacs.
Colonel Panic
5

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 (j'ai mappé sur Ctrl-Shift-G)

Terrence
la source
0

Mise à jour 2019: toutes les réponses sont anciennes. Il existe maintenant un moyen natif de le faire dans les options de la communauté VS2019:

Options >> Navigateur Web

dylanh724
la source
Cela ne semble rien faire pour ouvrir les liens cliquables dans les fichiers. Je l'ai essayé, je ne sais pas ce qu'il fait. Ne semble rien faire.
DarrenMB
0

Cela fonctionne pour moi. J'ai changé le navigateur par défaut dans Windows.

Support Windows

ou lien direct vers les paramètres: ms-settings: defaultapps

christris
la source
-4

Dans VS2008, faites un clic droit sur le lien et sélectionnez "Ouvrir le lien dans une fenêtre externe". Vous devez sélectionner Chrome comme navigateur par défaut.

barre oblique inverse17
la source
J'ai pensé à cela aussi, mais cela ne s'applique pas aux liens directement dans le code source, mais uniquement aux liens dans, par exemple, l'aide.
Matthew Jones
Vous avez raison uniquement des liens dans le navigateur interne et non dans le volet de code source.
backslash17
-1 ne répond pas à la question. : -) ... Si quelqu'un a une solution qui n'implique pas de menu contextuel ou de clic CTRL, ce serait encore mieux :-)
Myster