Mostrar solución / ruta de archivo en el IDE de Visual Studio

80

Con frecuencia trabajo con varias instancias de Visual Studio, a menudo trabajando en diferentes ramas de la misma solución.

Visual C ++ 6.0 solía mostrar la ruta completa del archivo fuente actual en su barra de título, pero Visual Studio 2005 no parece hacer esto. Esto hace que sea un poco más incómodo de lo que debería ser averiguar qué rama de la solución estoy viendo actualmente (la forma más rápida que conozco es colocar el cursor sobre una pestaña para obtener la ruta del archivo fuente como información sobre herramientas).

¿Hay alguna forma de obtener la solución completa o la ruta del archivo en la barra de título, o al menos en algún lugar que siempre esté visible, para que pueda saber rápidamente qué rama está cargada en cada instancia?

James Sutherland
fuente
11 años y todavía no está disponible de
fábrica

Respuestas:

24

No existe una forma nativa de hacerlo, pero puedes lograrlo con una macro. Los detalles se describen aquí en su totalidad: Cómo mostrar la ruta completa del archivo (o cualquier otra cosa) en la barra de título de VS 2005

Solo tiene que agregar una pequeña macro de Visual Basic a la sección de macros EvironmentEvents y reiniciar Visual Studio.

Nota: La ruta no aparecerá cuando cargue Visual Studio por primera vez, pero lo hará cada vez que cambie el archivo que está viendo. Probablemente haya una forma de solucionar este problema, pero no parece gran cosa.

Adam Haile
fuente
4
File Path On Footer también es una buena extensión
dan
1
@dan ... pero come una línea en la parte inferior del editor (no en la barra de estado (ya sabes, la azul cambia a naranja al depurar)). Tómelo en consideración especialmente para pantallas pequeñas, etc. De todos modos, gracias por el puntero.
yO_
32

Esta es una extensión disponible en la galería en línea diseñada específicamente para este trabajo. Checkout Labs> Extensión de Visual Studio: personalice el título de la ventana de Visual Studio .

Bruno Vinicius
fuente
3
Increíble. Extensión minimalista que simplemente funciona. No se necesita configuración.
Erik Öjebo
4
También funciona en 2015
Danny Beckett
2
También funciona en 2017
irsis
1
También funciona en 2019. Opcionalmente, vuelva a habilitar la barra de título de la ventana o simplemente observe los cambios en la barra de tareas. Probado en v16.4.2.
Chris
17

Consulte la última versión de VSCommands 2010 Lite . Introdujo una función llamada Nombre de solución amigable donde puede configurarlo para que muestre la ruta del archivo de la solución (o cualquier parte de ella) en el título de la ventana principal de Visual Studio.

Más detalles: http://vscommands.com/releasenotes/3.6.8.0 y http://vscommands.com/releasenotes/3.6.9.0

usuario registrado
fuente
vs2013 Versión: visualstudiogallery.msdn.microsoft.com/...
Simon_Weaver
Todos los enlaces (dominio vscommands.com ) parecen estar rotos (se agota el tiempo de espera).
Peter Mortensen
Sin embargo, hay VSCommands para Visual Studio 2010 . ¿Es lo mismo?
Peter Mortensen
5

Para Visual Studio 2008, una forma un poco mejor de escribir la macro a partir de la respuesta aceptada es utilizar los eventos de la solución en lugar de los del documento; esto le permite editar siempre la barra de título, incluso si no tiene un documento seleccionado.

Aquí está la macro que mi compañero de trabajo y yo armamos en función de la otra: querrá cambiar las líneas 15-18 para extraer el nombre de su rama del directorio de origen para la configuración que tenga.

Private timer As System.Threading.Timer

Declare Auto Function SetWindowText Lib "user32" (ByVal hWnd As System.IntPtr, ByVal lpstring As String) As Boolean

Private _branchName As String = String.Empty

Private Sub SolutionEvents_Opened() Handles SolutionEvents.Opened
    Try
        If timer Is Nothing Then
            ' Create timer which refreshes the caption because
            ' IDE resets the caption very often
            Dim autoEvent As New System.Threading.AutoResetEvent(False)
            Dim timerDelegate As System.Threading.TimerCallback = _
                AddressOf tick
            timer = New System.Threading.Timer(timerDelegate, autoEvent, 0, 25)
        End If
        Dim sourceIndex As Integer = DTE.Solution.FullName.IndexOf("\Source")
        Dim shortTitle As String = DTE.Solution.FullName.Substring(0, sourceIndex)
        Dim lastIndex As Integer = shortTitle.LastIndexOf("\")
        _branchName = shortTitle.Substring(lastIndex + 1)
        showTitle(_branchName)
    Catch ex As Exception

    End Try
End Sub


Private Sub SolutionEvents_BeforeClosing() Handles SolutionEvents.BeforeClosing
    If Not timer Is Nothing Then
        timer.Dispose()
    End If
End Sub


''' <summary>Dispose the timer on IDE shutdown.</summary>
Public Sub DTEEvents_OnBeginShutdown() Handles DTEEvents.OnBeginShutdown
    If Not timer Is Nothing Then
        timer.Dispose()
    End If
End Sub


'''<summary>Called by timer.</summary>
Public Sub tick(ByVal state As Object)
    Try
        showTitle(_branchName)
    Catch ex As System.Exception
    End Try
End Sub


'''<summary>Shows the title in main window.</summary>
Private Sub showTitle(ByVal title As String)
    SetWindowText(New System.IntPtr(DTE.MainWindow.HWnd), title & " - " & DTE.Name)
End Sub
Drew Miller
fuente
4

Ciertamente es incómodo. Colocar el cursor sobre la pestaña es una de las pocas cosas útiles.

Alternativa: haga clic con el botón derecho en la pestaña del archivo: busque la ruta del archivo en Visual Studio . Parece que tenemos que ver con eso.

Peter Mortensen
fuente
4

Cómo personalizar el título de la ventana de Visual Studio

Instale el complemento Personalizar título de ventana de Visual Studio .

Después de instalar la extensión, la configuración se puede encontrar en el menú.

Menú HerramientasOpcionesPersonalizar VS título de la ventana .

Más información

Personalizar el título de la ventana de Visual Studio es una extensión ligera de Visual Studio, que le permite cambiar el título de la ventana para incluir un árbol de carpetas:

Ingrese la descripción de la imagen aquí

Caracteristicas

  • Una distancia de profundidad mínima y máxima configurable desde el archivo de solución / proyecto
  • Permite el uso de etiquetas especiales para ayudar con muchos otros escenarios posibles, que incluyen Git , Mercurial y TFS .
YanZhiwei
fuente
Si bien este código puede responder a la pregunta, proporcionar un contexto adicional sobre cómo y / o por qué resuelve el problema mejoraría el valor de la respuesta a largo plazo. Por favor lea este instructivo para brindar una respuesta de calidad.
thewaywewere
3

Estoy usando VSCommands 10 para mostrar la ruta completa del archivo de solución abierto.

Friendly Name: {repo}
Solution Path Regex: (?<repo>.*)

Ahora mi ventana de título principal se ve así:

c:\repositories\acme.marketplace.trunk\Acme.Marketplace.web\Acme.Marketplace.Web.sln

Puedo mirar rápidamente y ver que estoy trabajando en la carpeta del tronco o en una carpeta rc porque usamos Mercurial (Hg) y mantenemos carpetas separadas para el tronco, rc, preprod, prod así:

c:\repositories\acme.marketplace.rc1
c:\repositories\acme.marketplace.rc2
c:\repositories\acme.marketplace.trunk
c:\repositories\acme.marketplace.preprod
c:\repositories\acme.marketplace.prod
superlógico
fuente
¿Es lo mismo que VSCommands para Visual Studio 2010 ?
Peter Mortensen
1

Nota relacionada: como alternativa, para Visual Studio 2005 puede utilizar el menú de comandos ArchivoOpciones avanzadas de guardado . El cuadro de diálogo muestra la ruta completa del archivo actual y puede copiar el texto.

Peter Mortensen
fuente
1

Utilice el comando MKLINK para crear un enlace a su solución existente. En lo que respecta a Visual Studio, está funcionando con el archivo de enlace, pero los cambios van al archivo .sln subyacente.

Escribí una entrada de blog aquí al respecto ...

http://willissoftware.com/?p=72

Lee WIllis
fuente
El enlace está roto ( "No podemos conectarnos al servidor en www.willissoftware.com" ). ¿Dominio caducado?
Peter Mortensen
Esta respuesta no es muy útil con el enlace roto.
Peter Mortensen
1

Si está utilizando Visual Studio 2010 o superior, puede utilizar la extensión "Visual Studio Window Title Changer".

Instale esto y use la siguiente expresión 'Configuración de título de ventana' para mostrar la ruta de la solución:

'sln_dir + "/" + orig_title'

Utilice el administrador de extensiones para descargar e instalar la extensión. Los detalles de la extensión y cómo usarla se pueden encontrar aquí:

https://visualstudiogallery.msdn.microsoft.com/2e8ebfe4-023f-4c4d-9b7a-d05bbc5cb239?SRC=VSIDE

Muad'Dib
fuente
1
El enlace está roto (404).
Peter Mortensen
0

TabsStudio | 49 dólares

Es una extensión de Visual Studio bastante buena (aunque pagada) que proporciona:

  • Agrupación de pestañas
  • Coloración de pestañas
  • Transformación de título
  • Mucha personalización y extensiones

Captura de pantalla de Tabs Studio

Ruta del archivo en el pie de página | Gratis

Muestra la ruta completa del archivo en la parte inferior de la ventana del editor:

Ruta del archivo en la captura de pantalla del pie de página

Mención de honor: Visual Studio Code

La versión 1.26 de Visual Studio Code implementó rutas de navegación que muestran la ruta del archivo en una fila separada en la parte superior de la ventana del editor cuando se usan pestañas o en línea el nombre del archivo cuando está en su propia ventana.

Captura de pantalla de Visual Studio Code Breadcrumbs

KyleMit
fuente