2009-07-29 11 views
131

Kaynak bir dosyada bir URL varsa, "CTRL + linki takip etmek için tıkla." Ancak, bunu yaptığımda, bağlantı Visual Studio'nun içinde açılır. Web tarayıcımda bunu nasıl açabilirim - benim durumumda, Google Chrome?Visual Studio'da web tarayıcımda değil, Visual Studio'daki bağlantıları nasıl açarım?

+0

Bir özellik isteğini dosyalamak için söylemek üzereydim, ama ne olduğunu tahmin et. VS2010beta1'in editör görünümünde, otomatik bağlantı aslında gitti. – Bahbar

+0

@Bahbar: VS2010 RC'de bağlantılar geri döndü. –

+5

2.5 yıl sonra bu soru ile ilgili herhangi bir güncelleme var mı? Şimdi daha iyi bir yolu var mı? – Borek

cevap

58

Bu davranışı Open in External Browser adı verilen bir uzantı var. Bu

Bu sayede benzer soruya his answer bu işaret için Dmitry gider (Visual Studio 2010. destekleyen eski bir sürümü available on GitHub) 2012, 2013, 2015 ve 2017 Visual Studio çalışır.

DÜZENLEME: Visual Studio ekibi sonunda bu hakkı Visual Studio'ya koymaya çalışmaya başlıyor. this özellik isteğinin durumu "İnceleniyor" bölümünden "Başlangıç" olarak değiştirildi.

+0

Teşekkürler Mike! Güzel, kolay bir çözüm. –

+2

Sadece bir FYI olarak, bu aynı zamanda VS2015 – Rob

+10

'da da çalışır. Güncelleme Rob için teşekkürler. Bunu hala VS2015'te kullanmamız gereken bir utanç. – mikesigs

-4

VS2008'de, bağlantıyı sağ tıklayın ve "Dış pencerede bağlantıyı aç" ı seçin. Chrome'u varsayılan tarayıcınız olarak seçmelisiniz.

+0

Bunu da düşündüm, ancak doğrudan kaynak koddaki bağlantılar için değil, yalnızca Yardım içindeki bağlantılara uygulanmaz. –

+0

Sadece kaynak kod bölmesindeki değil, yalnızca iç yönlendiricide bulunan bağlantılara sahipsiniz. – backslash17

+0

-1, soruya cevap vermiyor. : -) ...Herhangi biri sağ tıklama menüsü veya CTRL tıklama içermeyen bir çözüm varsa, daha iyi olurdu :-) – Myster

7

Bunun için bir ayar bulamadım, bu yüzden kullanabileceğiniz basit bir makro yazdım. Bunu, tüm makrolar gibi bir tuş kombinasyonuna bağlayabilirsiniz. Bu, daha iyi bir cevap alana kadar işi halleder.

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 

Sadece

+0

VB yüklü değil ama çalışır gibi görünüyor (satırın sonunda bir şey yok ise) URL'yi geçmez), ayrıca yanıtlanmamış soruları yanıtlamaktan nefret ediyorum, böylece yanıt olarak işaretleyin. Yardımınız için teşekkürler :) –

+2

@Sam: Visual Studio makrolarını kullanmak için VB yüklü olmanıza gerek yoktur. Sadece aynı sözdizimini kullanıyorlar. –

+0

Bu bir şekilde yüklemeniz gereken bir şey mi? –

5

Bu mracoker tarafından yukarıda önerilen makro üzerinde bir gelişme olduğunu ... url önüne imleci ve makro çalıştırın.

Bu makro, geçerli satırdaki bir URL'yi arar ve önceki cevapta olduğu gibi URL'den sonra metin yakalamaz.

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 

Kullanmak için: imleci URL'den önce bir yere yerleştirin; Makro Çalıştır (Ctrl-ÜstKrkt-G ile eşleştirildi)