หากมี URL ในความคิดเห็นไฟล์ต้นฉบับฉันสามารถ "CTRL + คลิกเพื่อติดตามลิงก์" อย่างไรก็ตามเมื่อฉันทำเช่นนี้ลิงค์จะเปิดขึ้นภายใน Visual Studio ฉันจะทำให้เปิดในเว็บเบราว์เซอร์ของฉัน - ในกรณีของฉัน, Google Chrome?
หากมี URL ในความคิดเห็นไฟล์ต้นฉบับฉันสามารถ "CTRL + คลิกเพื่อติดตามลิงก์" อย่างไรก็ตามเมื่อฉันทำเช่นนี้ลิงค์จะเปิดขึ้นภายใน Visual Studio ฉันจะทำให้เปิดในเว็บเบราว์เซอร์ของฉัน - ในกรณีของฉัน, Google Chrome?
คำตอบ:
มีส่วนขยายที่ให้พฤติกรรมเช่นนี้เรียกว่าเปิดในเบราว์เซอร์ภายนอก มันทำงานได้ใน Visual Studio 2012, 2013, 2015 และ 2017 (รุ่นเก่าที่มีอยู่ใน GitHubรองรับ Visual Studio 2010)
ขอบคุณไปที่มิทรีที่ชี้เรื่องนี้ในคำตอบของเขาสำหรับคำถามที่คล้ายกันนี้
แก้ไข: ทีม Visual Studio ในที่สุดก็เริ่มทำงานในการใส่สิทธินี้ลงใน Visual Studio สถานะของคำขอคุณลักษณะนี้เพิ่งย้ายจาก "อยู่ระหว่างการตรวจสอบ" เป็น "เริ่มต้น"
ฉันไม่พบการตั้งค่าสำหรับสิ่งนี้ดังนั้นฉันจึงเขียนแมโครง่าย ๆ ที่คุณสามารถใช้ได้ คุณสามารถผูกสิ่งนี้กับคีย์ - คอมโบเหมือนกับมาโครทั้งหมด สิ่งนี้จะทำงานให้สำเร็จจนกว่าเราจะได้คำตอบที่ดีกว่า
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 แล้วเรียกใช้แมโคร ...
นี่คือการปรับปรุงแมโครที่แนะนำโดย 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)
มันใช้งานได้สำหรับฉัน ฉันเปลี่ยนเบราว์เซอร์เริ่มต้นใน Windows
หรือลิงค์โดยตรงไปยังการตั้งค่า: ms-settings: defaultapps
ใน VS2008 เพียงคลิกขวาที่ลิงก์และเลือก "เปิดลิงก์ในหน้าต่างภายนอก" คุณต้องเลือก Chrome เป็นเบราว์เซอร์เริ่มต้นของคุณ