如何在Web浏览器中而不是Visual Studio中的Visual Studio中打开链接?


136

如果源文件注释中有URL,则可以“ CTRL +单击以跟随链接”。但是,当我这样做时,该链接在Visual Studio中打开。如何在网络浏览器(例如Google Chrome)中打开它?


6
2.5年后是否对此问题有任何更新?现在有更好的方法吗?
Borek Bernard

1
接受的答案为Visual Studio 2012是不行的,所以开了一个新的问题stackoverflow.com/questions/13047914/...
上校恐慌

11
投票这是固定在VS 这里
山姆

3
4年后对此有任何更新吗?
Xonatron

2
6年后对此有任何更新吗?:)
monstro

Answers:


63

有一个扩展提供了此行为,称为“ 在外部浏览器中打开”。它适用于Visual Studio 2012、2013、2015和2017。(GitHub上可用的旧版本支持Visual Studio2010。)

感谢Dmitry对类似问题的回答中指出了这一点。

编辑:Visual Studio团队终于开始着手将这项权利纳入Visual Studio。功能请求的状态刚刚从“正在审核”更改为“已开始”。


谢谢迈克!一个不错的简单解决方案。
xofz 2014年

10
感谢您的更新Rob。很遗憾我们仍然需要在VS2015中使用它。
mikesigs 2015年

1
在VS2017中也可以使用
-Logerfo

对于任何其他想知道它是否适用于Visual Studio 2019的人来说,但我希望他们只包括它。
SharpIncTechAndProgramming

7

我找不到为此设置,所以我写了一个可以使用的简单宏。您可以像所有宏一样将其绑定到组合键。这将完成工作,直到我们得到更好的答案。

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

只需将光标放在url前面并运行宏即可。


我没有安装VB,但看起来可以正常工作(如果URL末尾的行末没有任何内容),再加上我讨厌有未回答的问题,因此将其标记为答案。感谢您的帮助:)
xofz

2
@Sam:您不需要安装VB即可使用Visual Studio宏。他们只是使用相同的语法。
罗杰·利普斯科姆2010年

这是您必须以某种方式安装的东西吗?
Panic Panic'8

3
原来Visual Studio 2012不支持宏,这就是为什么我无法安装它的原因。试试emacs。
Panic Panic 2012年

5

这是对mracoker上面建议的宏的改进。

该宏将在当前行中查找URL,并且不会像以前的答案一样捕获URL之后的文本。

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

用法:将光标放在URL之前的某个位置;运行宏(我映射到Ctrl-Shift-G)


0

2019更新:所有答案都是旧的。现在在VS2019社区的选项中有一种本地方法可以执行此操作:

选项>> Web浏览器


对于打开文件中的可点击链接,这似乎没有任何作用。试过了,不知道它做什么。似乎什么也没做。
DarrenMB


-4

在VS2008中,只需右键单击链接,然后选择“在外部窗口中打开链接”。您必须选择Chrome作为默认浏览器。


我也想到了这一点,但是它不适用于直接在源代码中的链接,仅适用于例如帮助中的链接。
马修·琼斯,

您仅在内部导航器中的链接上正确,而不在源代码窗格中。
backslash17

-1不回答问题。:-)...如果任何人都有不涉及右键单击菜单或CTRL单击的解决方案,那就更好了:-)
Myster
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.