2008-08-27 16 views
68

Trabajo frecuentemente con varias instancias de Visual Studio, a menudo trabajando en diferentes ramas de la misma solución.Mostrar solución/ruta del archivo en Visual Studio IDE

VC6 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 buscando actualmente (la forma más rápida que conozco es pasar el cursor sobre una pestaña para obtener la ruta del archivo fuente como información sobre herramientas).

¿Hay alguna manera 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 esté siempre visible para que pueda saber rápidamente qué rama está cargada en cada instancia?

Respuesta

24

No hay una forma nativa de hacerlo, pero puede lograrlo con una macro. Los detalles se describen aquí completos: http://www.helixoft.com/blog/archives/32

Simplemente tiene que agregar un poco de macro VB a la sección de macro EvironmentEvents y reiniciar VS.

Nota: La ruta de acceso no se mostrará la primera vez que cargue VS, pero cambiará siempre el archivo que esté viendo. Probablemente hay una manera de solucionar esto, pero no parece ser un gran problema.

+0

[Vía al archivo en pie] (https://visualstudiogallery.msdn.microsoft.com/d9fc97d4-3b42-4b56-ba47-23f8b81ebd17/) es también una buena extensión – dan

1

Nota relacionada: como alternativa, para Visual Studio 2005 puede usar el comando Archivo -> Opciones avanzadas de guardado. El cuadro de diálogo muestra la ruta completa del archivo actual y puede copiar el texto.

17

Consulte la última versión de VSCommands 2010 Lite. Introdujo una característica llamada Friendly Solution Name donde puede configurarla para mostrar la ruta del archivo de 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

+2

Parece que se movió ligeramente hasta aquí: http://vscommands.squaredinfinity.com/ – ruffin

+0

versión vs2013: http://visualstudiogallery.msdn.microsoft.com/c6d1c265-7007-405c-a68b-5606af238ece –

4

Para 2008, una forma ligeramente mejor de escribir la macro a partir de la respuesta aceptada es utilizar los eventos de Solución en lugar de los de 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 preparamos en base a la otra: querrá cambiar las líneas 15-18 para extraer su nombre de sucursal del directorio de origen para el que esté configurado.

01 Private timer As System.Threading.Timer 
02 Declare Auto Function SetWindowText Lib "user32" (ByVal hWnd As System.IntPtr, ByVal lpstring As String) As Boolean 
03 
04 Private _branchName As String = String.Empty 
05 Private Sub SolutionEvents_Opened() Handles SolutionEvents.Opened 
06  Try 
07   If timer Is Nothing Then 
08    ' Create timer which refreshes the caption because 
09    ' IDE resets the caption very often 
10    Dim autoEvent As New System.Threading.AutoResetEvent(False) 
11    Dim timerDelegate As System.Threading.TimerCallback = _ 
12     AddressOf tick 
13    timer = New System.Threading.Timer(timerDelegate, autoEvent, 0, 25) 
14   End If 
15   Dim sourceIndex As Integer = DTE.Solution.FullName.IndexOf("\Source") 
16   Dim shortTitle As String = DTE.Solution.FullName.Substring(0, sourceIndex) 
17   Dim lastIndex As Integer = shortTitle.LastIndexOf("\") 
18   _branchName = shortTitle.Substring(lastIndex + 1) 
19   showTitle(_branchName) 
20  Catch ex As Exception 
21 
22  End Try 
23 End Sub 
24 
25 Private Sub SolutionEvents_BeforeClosing() Handles SolutionEvents.BeforeClosing 
26  If Not timer Is Nothing Then 
27   timer.Dispose() 
28  End If 
29 End Sub 
30 
31 
32 ''' <summary>Dispose the timer on IDE shutdown.</summary> 
33 Public Sub DTEEvents_OnBeginShutdown() Handles DTEEvents.OnBeginShutdown 
34  If Not timer Is Nothing Then 
35   timer.Dispose() 
36  End If 
37 End Sub 
38 
39 '''<summary>Called by timer.</summary> 
40 Public Sub tick(ByVal state As Object) 
41  Try 
42   showTitle(_branchName) 
43  Catch ex As System.Exception 
44  End Try 
45 End Sub 
46 
47 '''<summary>Shows the title in main window.</summary> 
48 Private Sub showTitle(ByVal title As String) 
49  SetWindowText(New System.IntPtr(DTE.MainWindow.HWnd), title & " - " & DTE.Name) 
50 End Sub 
+0

Gracias, exactamente lo que quiero! –

2

Utilice el comando MKLINK para crear un enlace a su solución existente. En lo que respecta a Visual Studio, se trata de trabajar con el archivo de enlace, pero cualquier cambio va al archivo .sln subyacente.

escribí una entrada de blog aquí sobre ello ...

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

3

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

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

Ahora mi ventana principal del título se parece a esto:

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

que pueda echar un vistazo rápidamente y ver que estoy trabajando en la carpeta tronco o una carpeta rc porque usamos Mercurial (Hg) y mantener carpetas separadas para el tronco, rc, preprod, prod como este:

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 
2

Si está utilizando VS2010 o por encima de que puedas la extensión "Visual Studio título de la ventana del cambiador". Instalar y utilizar esta expresión el siguiente 'Título de la ventana Setup' para mostrar la trayectoria de la solución:

'sln_dir + + orig_title '/''

Uso gestor de la extensión para descargar e instalar la extensión. Los detalles de la extensión y la forma de utilizarlo se pueden encontrar aquí:

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

2

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

Instalar el plugin Customize Visual Studio Window Title.

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

Tools ► Options ► Customize VS Window Title.

Más información

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

enter image description here

Características

  • A conf igurable mínima y máxima distancia de profundidad del archivo de solución/proyecto
  • Permite el uso de etiquetas especiales para ayudar con muchos otros escenarios posibles, que incluyen Git, Mercurial y TFS.
+0

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. Lea este [cómo-para-responder] (http://stackoverflow.com/help/how-to-answer) para proporcionar una respuesta de calidad. – thewaywewere

Cuestiones relacionadas