2009-07-29 29 views
131

Si hay un URL en un comentario de archivo fuente, puedo "CTRL + clic para seguir el enlace". Sin embargo, cuando hago esto, el enlace se abre dentro de Visual Studio. ¿Cómo puedo abrirlo en mi navegador web, en mi caso, Google Chrome?¿Cómo abro los enlaces en Visual Studio en mi navegador web y no en Visual Studio?

+0

Estaba a punto de presentar una solicitud de función, pero adivinen qué. En la vista del editor VS2010beta1, el enlace automático se ha ido. – Bahbar

+0

@Bahbar: en VS2010 RC, los enlaces están de vuelta. –

+5

¿Alguna actualización sobre esta pregunta después de 2.5 años? ¿Hay una mejor manera ahora? – Borek

Respuesta

58

Hay una extensión que proporciona este comportamiento llamado Open in External Browser. Funciona en Visual Studio 2012, 2013, 2015 y 2017. (Una versión antigua available on GitHub soporta Visual Studio 2010.)

gracias van a Dmitry por señalar esto en his answer a esta pregunta similar.

EDIT: El equipo de Visual Studio finalmente está empezando a trabajar en poner esto en Visual Studio. Estado de this solicitud de función acaba de pasar de "En revisión" a "Iniciado".

+0

Gracias Mike! Una buena y fácil solución. –

+2

Al igual que un FYI, esto también funciona en VS2015 – Rob

+10

Gracias por la actualización Rob. Es una pena que aún necesitemos usar esto en VS2015. – mikesigs

-4

En VS2008, simplemente haga clic en el enlace y seleccione "Abrir enlace en la ventana externa". Debes seleccionar Chrome como tu navegador predeterminado.

+0

Pensé en esto también, pero no se aplica a los enlaces directamente en el código fuente, solo a los enlaces en, por ejemplo, la Ayuda. –

+0

Correctamente solo tiene enlaces en el navegador interno que no está en el panel del código fuente. – backslash17

+0

-1 no responde la pregunta. : -) ...Si alguien tiene una solución que no incluye el menú de clic derecho o CTRL haga clic en que sería aún mejor :-) – Myster

7

No pude encontrar una configuración para esto, así que escribí una macro simple que puede usar. Puede vincular esto a un combo de teclas como todas las macros. Esto hará el trabajo hasta que obtengamos una mejor respuesta.

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 

Sólo hay que poner el cursor delante de la URL y ejecutar la macro ...

+0

No tengo VB instalado, pero parece que va a funcionar (si no hay nada al final de la línea) más allá de la URL), además de que odio tener preguntas sin respuesta, por lo que marque como respuesta. Gracias por su ayuda :) –

+2

@Sam: No necesita VB instalado para usar las macros de Visual Studio. Simplemente usan la misma sintaxis. –

+0

¿Es esto algo que tienes que instalar de alguna manera? –

5

Esta es una mejora en la macro se sugirió anteriormente por mracoker.

Esta macro busca una URL en la línea actual y no captura el texto después de la URL como lo hizo la respuesta anterior.

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 

Para usar: coloque el cursor en algún lugar antes de la URL; Ejecutar macro (asigné a Ctrl-Shift-G)