How do I open links in Visual Studio in my web bro

2019-01-13 14:30发布

问题:

If there is a URL in a source file comment, I can "CTRL + click to follow link." However, when I do this, the link opens inside Visual Studio. How can I make it open in my web browser--in my case, Google Chrome?

回答1:

There is an extension that provides this behavior called Open in External Browser. It works in Visual Studio 2012, 2013, 2015 and 2017. (An old version available on GitHub supports Visual Studio 2010.)

Thanks goes to Dmitry for pointing this out in his answer to this similar question.

EDIT: The Visual Studio team is finally starting to work on putting this right into Visual Studio. Status of this feature request just moved from "Under Review" to "Started".



回答2:

I could not find a setting for this so I wrote a simple macro that you can use. You can bind this to a key-combo like all macros. This will get the job done until we get a better answer.

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

Just put your cursor in front of the url and run the macro...



回答3:

This is an improvement on the macro suggested above by mracoker.

This macro looks for a URL on the current line and does not capture text after the URL as the previous answer did.

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

To use: place cursor somewhere before the URL; Run Macro (I mapped to Ctrl-Shift-G)



回答4:

In VS2008 , just right click on the link and select "Open link in external window". You have to select Chrome as your default browser.