ฉันจะเปิดลิงก์ใน Visual Studio ในเว็บเบราว์เซอร์ได้อย่างไรและไม่อยู่ใน Visual Studio


136

หากมี URL ในความคิดเห็นไฟล์ต้นฉบับฉันสามารถ "CTRL + คลิกเพื่อติดตามลิงก์" อย่างไรก็ตามเมื่อฉันทำเช่นนี้ลิงค์จะเปิดขึ้นภายใน Visual Studio ฉันจะทำให้เปิดในเว็บเบราว์เซอร์ของฉัน - ในกรณีของฉัน, Google Chrome?


6
มีการอัพเดทคำถามนี้หลังจาก 2.5 ปีหรือไม่ มีวิธีที่ดีกว่าตอนนี้?
Borek Bernard

1
คำตอบที่ยอมรับใช้ไม่ได้กับ Visual Studio 2012 ดังนั้นเปิดคำถามใหม่stackoverflow.com/questions/13047914/…
Colonel Panic

11
โหวตนี้จะได้รับการแก้ไขใน VS ที่นี่
Sam

3
มีการอัพเดทอะไรบ้างหลังจากผ่านไป 4 ปี?
Xonatron

2
มีการอัพเดทใด ๆ หลังจากผ่านไป 6 ปีไหม? :)
monstro

คำตอบ:


63

มีส่วนขยายที่ให้พฤติกรรมเช่นนี้เรียกว่าเปิดในเบราว์เซอร์ภายนอก มันทำงานได้ใน Visual Studio 2012, 2013, 2015 และ 2017 (รุ่นเก่าที่มีอยู่ใน GitHubรองรับ Visual Studio 2010)

ขอบคุณไปที่มิทรีที่ชี้เรื่องนี้ในคำตอบของเขาสำหรับคำถามที่คล้ายกันนี้

แก้ไข: ทีม Visual Studio ในที่สุดก็เริ่มทำงานในการใส่สิทธินี้ลงใน Visual Studio สถานะของคำขอคุณลักษณะนี้เพิ่งย้ายจาก "อยู่ระหว่างการตรวจสอบ" เป็น "เริ่มต้น"


ขอบคุณไมค์! ทางออกที่ดีและง่าย
xofz

10
ขอบคุณสำหรับการอัพเดท Rob มันเป็นความอัปยศที่เรายังต้องใช้สิ่งนี้ใน VS2015
mikesigs

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
@ แซม: คุณไม่จำเป็นต้องติดตั้ง VB เพื่อใช้มาโคร Visual Studio พวกเขาใช้ไวยากรณ์เดียวกัน
Roger Lipscombe

นี่เป็นสิ่งที่คุณต้องติดตั้งหรือไม่?
พันเอก Panic

3
ปรากฎว่า Visual Studio 2012 ไม่รองรับมาโครนั่นคือสาเหตุที่ฉันไม่สามารถติดตั้งได้ ลอง emacs
พันเอก Panic

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:

ตัวเลือก >> เว็บเบราว์เซอร์


สิ่งนี้ดูเหมือนจะไม่ทำอะไรเลยเพื่อเปิดลิงก์แบบคลิกได้ในไฟล์ พยายามไม่แน่ใจว่ามันทำอะไร ดูเหมือนจะไม่ทำอะไรเลย
DarrenMB


-4

ใน VS2008 เพียงคลิกขวาที่ลิงก์และเลือก "เปิดลิงก์ในหน้าต่างภายนอก" คุณต้องเลือก Chrome เป็นเบราว์เซอร์เริ่มต้นของคุณ


ฉันคิดถึงสิ่งนี้เช่นกัน แต่มันไม่ได้ใช้กับลิงก์โดยตรงในซอร์สโค้ดเฉพาะกับลิงก์ในพูดความช่วยเหลือ
Matthew Jones

คุณอยู่ในลิงก์ในเนวิเกเตอร์ภายในเท่านั้นไม่ใช่ในบานหน้าต่างซอร์สโค้ด
backslash17

-1 ไม่ตอบคำถาม : -) ... ถ้าใครมีวิธีการแก้ปัญหาที่ไม่เกี่ยวข้องกับเมนูคลิกขวาหรือ CTRL คลิกที่จะดียิ่งขึ้น :-)
Myster
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.