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

如果源文件注释中有 URL,我可以“ CTRL + click to follow link”但是,当我这样做时,链接将在 VisualStudio 中打开。我怎样才能让它在我的浏览器中打开——对我来说,就是谷歌浏览器?

25348 次浏览

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

我找不到这个设置,所以我写了一个简单的宏,你可以使用。您可以像所有宏一样将它绑定到一个键组合。在我们找到更好的答案之前,这个能完成任务。

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

只要把你的光标在前面的网址和运行宏..。

这是对上面 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)

有一个名为 在外部浏览器中打开的扩展提供了这种行为。它适用于 VisualStudio2012、2013、2015和2017。(旧版 可以在 GitHub 上找到支持 VisualStudio2010。)

感谢 德米特里他的回答中指出了这个类似的问题。

编辑: VisualStudio 团队终于开始着手将这项工作正确地放入 VisualStudio 中。这个特性请求的状态刚刚从“审查中”移动到“开始”。

2019年更新: 所有的答案都是旧的,现在在 VS2019社区中有一个原生的方法可以做到这一点:

Options >> Web Browser

这对我很有用。我更改了 Windows 中的默认浏览器。

视窗-支援

或直接链接到设置: Ms 设置: 默认设置