Lösungs-/Dateipfad in Visual Studio IDE anzeigen
-
09-06-2019 - |
Frage
Ich arbeite häufig mit mehreren Instanzen von Visual Studio und oft an verschiedenen Zweigen derselben Lösung.
Früher zeigte VC6 den vollständigen Pfad der aktuellen Quelldatei in der Titelleiste an, aber Visual Studio 2005 scheint dies nicht zu tun.Das macht es etwas umständlicher, als es sein sollte, herauszufinden, welchen Zweig der Lösung ich gerade betrachte (der schnellste Weg, den ich kenne, besteht darin, den Mauszeiger über eine Registerkarte zu bewegen, damit Sie den Pfad der Quelldatei als Tooltip erhalten).
Gibt es eine Möglichkeit, die vollständige Lösung oder den Dateipfad in die Titelleiste einzufügen, oder zumindest an eine immer sichtbare Stelle, sodass ich schnell erkennen kann, welcher Zweig in die jeweilige Instanz geladen wird?
Lösung
Es gibt keine native Möglichkeit, dies zu tun, aber Sie können es mit einem Makro erreichen.Die Einzelheiten sind hier ausführlich beschrieben: http://www.helixoft.com/blog/archives/32
Sie müssen lediglich ein kleines VB-Makro zum EvironmentEvents-Makroabschnitt hinzufügen und VS neu starten.
Notiz:Der Pfad wird nicht angezeigt, wenn Sie VS zum ersten Mal laden, sondern immer dann, wenn Sie die angezeigte Datei ändern.Es gibt wahrscheinlich eine Möglichkeit, das Problem zu beheben, aber es scheint keine große Sache zu sein.
Andere Tipps
Dies ist eine in der Online-Galerie verfügbare Erweiterung, die speziell auf diesen Job zugeschnitten ist.Kasse http://erwinmayer.com/labs/visual-studio-2010-extension-rename-visual-studio-window-title/
Schauen Sie sich die neueste Version von an VSCommands 2010 Lite.Es wurde eine Funktion namens Friendly Solution Name eingeführt, mit der Sie festlegen können, dass der Pfad der Lösungsdatei (oder ein beliebiger Teil davon) im Titel des Visual Studio-Hauptfensters angezeigt wird.Mehr Details: http://vscommands.com/releasenotes/3.6.8.0 Und http://vscommands.com/releasenotes/3.6.9.0
Für 2008 besteht eine etwas bessere Möglichkeit, das Makro aus der oben akzeptierten Antwort zu schreiben, darin, die Lösungsereignisse anstelle der Dokumentereignisse zu verwenden. Dadurch können Sie die Titelleiste immer bearbeiten, auch wenn Sie kein Dokument ausgewählt haben.Hier ist das Makro, das mein Kollege und ich auf der Grundlage des anderen Makros zusammengestellt haben: Sie sollten die Zeilen 15–18 ändern, um Ihren Filialnamen aus dem Quellverzeichnis abzurufen, ganz wie auch immer Sie eingerichtet sind.
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
Es ist in der Tat umständlich.Das Bewegen des Mauszeigers über die Registerkarte ist in der Tat eines der wenigen nützlichen Dinge.Alternativen:Klicken Sie mit der rechten Maustaste auf die Registerkarte „Datei“: http://weblogs.asp.net/piseth/archive/2008/11/08/find-your-file-path-in-visual-studio.aspx Scheint, als hätten wir damit zu tun
Ich verwende VSCommands 10, um den vollständigen Pfad der geöffneten Lösungsdatei anzuzeigen.
Friendly Name: {repo}
Solution Path Regex: (?<repo>.*)
Jetzt sieht mein Haupttitelfenster so aus:
c:\repositories\acme.marketplace.trunk\Acme.Marketplace.web\Acme.Marketplace.Web.sln
Ich kann schnell einen Blick darauf werfen und erkennen, dass ich im Trunk-Ordner oder einem RC-Ordner arbeite, weil wir Mercurial (Hg) verwenden und separate Ordner für Trunk, RC, Preprod und Prod wie folgt führen:
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
So passen Sie den Titel des Visual Studio-Fensters an
Installiere das Passen Sie den Titel des Visual Studio-Fensters an Plugin.
Nach der Installation der Erweiterung sind die Einstellungen im Menü zu finden.
Tools ► Options ► Customize VS Window Title
.
Mehr Informationen
Customize Visual Studio Window Title
ist eine leichte Erweiterung für Visual Studio, die es Ihnen ermöglicht, den Fenstertitel so zu ändern, dass er eine Ordnerstruktur enthält
Merkmale
- Ein konfigurierbarer minimaler und maximaler Tiefenabstand von der Lösungs-/Projektdatei
- Ermöglicht die Verwendung spezieller Tags, um bei vielen anderen möglichen Szenarien zu helfen, darunter
Git
,Mercurial
UndTFS
.
Verwenden Sie den Befehl MKLINK, um einen Link zu Ihrer vorhandenen Lösung zu erstellen.Was Visual Studio betrifft, so arbeitet es mit der Linkdatei, alle Änderungen werden jedoch in die zugrunde liegende SLN-Datei übernommen.
Ich habe hier einen Blogeintrag darüber geschrieben...
Für die Leute, die die VB-Methode nicht zum Laufen gebracht haben (wie ich), können Sie ein Plugin verwenden:
http://visualstudiogallery.msdn.microsoft.com/f3f23845-5b1e-4811-882f-60b7181fa6d6
Getestet in VS2008 Ultimate.Sie können es im Optionsmenü von VS konfigurieren.
Wenn Sie VS2010 oder höher verwenden, können Sie die Erweiterung „Visual Studio Window Title Changer“ verwenden.Installieren Sie dies und verwenden Sie den folgenden Ausdruck „Fenstertitel-Setup“, um den Lösungspfad anzuzeigen:
'sln_dir + "/" + orig_title'
Verwenden Sie den Erweiterungsmanager, um die Erweiterung herunterzuladen und zu installieren.Details zur Erweiterung und deren Verwendung finden Sie hier:
https://visualstudiogallery.msdn.microsoft.com/2e8ebfe4-023f-4c4d-9b7a-d05bbc5cb239?SRC=VSIDE
Verwandter Hinweis:Alternativ können Sie für Visual Studio 2005 den Befehl Datei -> Erweiterte Speicheroptionen verwenden.Das Dialogfeld zeigt den vollständigen Pfad der aktuellen Datei an und Sie können den Text kopieren.
Als Dan erwähnte es auch in einem Kommentar, der Dateipfad in der Fußzeile Die Erweiterung dient demselben Zweck.
TabsStudio | $49
Ist eine ziemlich gute (wenn auch kostenpflichtige) VS-Erweiterung, die Folgendes bietet:
- Tab-Gruppierung
- Tab-Färbung
- Titeltransformation
- Viele Anpassungen und Erweiterungen
Dateipfad in der Fußzeile | Frei
Zeigt den vollständigen Dateipfad unten im Editorfenster an
Auszeichnung:Visual Studio-Code
VS-Code Version 1.26 implementiert Breadcrumbs Dadurch wird der Dateipfad in einer separaten Zeile oben im Editorfenster angezeigt, wenn Sie Tabulatoren verwenden, oder der Dateiname wird in ein eigenes Fenster eingefügt.