[Visual-studio] Visual Studio가 아닌 웹 브라우저에서 링크를 열려면 어떻게합니까?


Answers

외부 브라우저에서 열기 라는이 동작을 제공하는 확장이 있습니다. Visual Studio 2012, 2013, 2015 및 2017에서 작동합니다 (이전 버전의 GitHub에서는 Visual Studio 2010을 지원합니다).

Dmitry 는이 비슷한 질문에 대한 답 을 지적하면서 감사 Dmitry .

편집 : Visual Studio 팀은 마침내 Visual Studio에 바로이 작업을 시작합니다. this 기능 요청 상태가 '검토 중'에서 '시작됨'으로 변경되었습니다.

Question

소스 파일 주석에 URL이 있으면 "Ctrl + 클릭하여 링크를 따라갈 수 있습니다." 그러나 이렇게하면 Visual Studio 내에서 링크가 열립니다. 내 웹 브라우저 (내 경우에는 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

그냥 URL 앞에 커서를 놓고 매크로를 실행하십시오 ...




VS2008에서 링크를 마우스 오른쪽 버튼으로 클릭하고 "외부 창에서 링크 열기"를 선택하십시오. Chrome을 기본 브라우저로 선택해야합니다.




위에서 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로 매핑 됨)