Wyświetl ścieżkę rozwiązania / pliku w środowisku IDE programu Visual Studio

80

Często pracuję z wieloma wystąpieniami programu Visual Studio, często pracując na różnych gałęziach tego samego rozwiązania.

Program Visual C ++ 6.0 używany do wyświetlania pełnej ścieżki bieżącego pliku źródłowego na pasku tytułu, ale program Visual Studio 2005 nie wydaje się tego robić. To sprawia, że ​​ustalenie, której gałęzi rozwiązania aktualnie przeglądam, jest nieco bardziej niewygodne niż powinno (najszybszym sposobem, jaki znam, jest najechanie kursorem myszy na kartę, aby uzyskać ścieżkę do pliku źródłowego jako etykietkę).

Czy istnieje sposób, aby uzyskać pełne rozwiązanie lub ścieżkę do pliku na pasku tytułu lub przynajmniej w miejscu, które jest zawsze widoczne, aby móc szybko stwierdzić, która gałąź jest załadowana do każdej instancji?

James Sutherland
źródło
11 lat i nadal niedostępny po wyjęciu z pudełka: - /
joym8

Odpowiedzi:

24

Nie ma natywnego sposobu, aby to zrobić, ale można to osiągnąć za pomocą makra. Szczegóły opisano tutaj w całości: Jak wyświetlić pełną ścieżkę pliku (lub cokolwiek innego) na pasku tytułu VS 2005

Wystarczy dodać trochę makra Visual Basic do sekcji makr EvironmentEvents i ponownie uruchomić Visual Studio.

Uwaga: Ścieżka nie pojawi się po pierwszym załadowaniu programu Visual Studio, ale będzie zawsze, gdy zmienisz przeglądany plik. Prawdopodobnie istnieje sposób, aby to naprawić, ale nie wydaje się to wielka sprawa.

Adam Haile
źródło
4
Ścieżka pliku na stopce jest również dobrym rozszerzenie
Dan
1
@dan ... ale zjada linię na dole edytora (nie na pasku stanu (wiesz, niebieski zmienia się na pomarańczowy podczas debugowania)). Weź to pod uwagę, zwłaszcza w przypadku małych ekranów itp. W każdym razie dziękuję za wskazówkę.
yO_
32

To jest rozszerzenie dostępne w galerii internetowej specjalnie dostosowane do tego zadania. Checkout Labs> Rozszerzenie programu Visual Studio: Dostosuj tytuł okna programu Visual Studio .

Bruno Vinicius
źródło
3
Niesamowite. Minimalistyczne rozszerzenie, które po prostu działa. Żadna konfiguracja nie jest wymagana.
Erik Öjebo
4
Działa również w 2015 roku
Danny Beckett
2
Działa również w 2017 roku
irsis
1
Działa również w 2019 roku. Opcjonalnie Włącz ponownie pasek tytułu okna lub po prostu obserwuj zmiany na pasku zadań. Testowane w wersji 16.4.2.
Chris
17

Sprawdź najnowszą wersję VSCommands 2010 Lite . Wprowadzono funkcję o nazwie Przyjazna nazwa rozwiązania, w której można ustawić wyświetlanie ścieżki pliku rozwiązania (lub dowolnej jej części) w tytule okna głównego programu Visual Studio.

Więcej szczegółów: http://vscommands.com/releasenotes/3.6.8.0 i http://vscommands.com/releasenotes/3.6.9.0

zarejestrowany użytkownik
źródło
wersja vs2013: visualstudiogallery.msdn.microsoft.com/…
Simon_Weaver
Wydaje się, że wszystkie linki (domena vscommands.com ) są uszkodzone (przekroczono limit czasu).
Peter Mortensen
Istnieje jednak polecenie VSCommands dla programu Visual Studio 2010 . Czy to jest to samo?
Peter Mortensen
5

W przypadku programu Visual Studio 2008 nieco lepszym sposobem napisania makra z zaakceptowanej odpowiedzi jest użycie zdarzeń rozwiązania zamiast zdarzeń dokumentu - pozwala to zawsze edytować pasek tytułu, nawet jeśli nie masz wybranego dokumentu.

Oto makro, które mój współpracownik i ja stworzyliśmy na podstawie drugiego - będziesz chciał zmienić wiersze 15-18, aby pobrać nazwę swojej gałęzi z katalogu źródłowego, niezależnie od tego, jak jesteś skonfigurowany.

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
źródło
4

To naprawdę niezręczne. Najechanie kursorem na kartę jest rzeczywiście jedną z niewielu przydatnych rzeczy.

Alternatywnie: kliknij prawym przyciskiem myszy kartę pliku: Znajdź ścieżkę pliku w programie Visual Studio . Wygląda na to, że mamy z tym coś wspólnego.

Peter Mortensen
źródło
4

Jak dostosować tytuł okna programu Visual Studio

Zainstaluj wtyczkę Dostosuj tytuł okna programu Visual Studio .

Po zainstalowaniu rozszerzenia ustawienia można znaleźć w menu.

Menu ToolsOpcjeDostosuj VS Window Title .

Więcej informacji

Customize Visual Studio Window Title to lekkie rozszerzenie programu Visual Studio, które umożliwia zmianę tytułu okna w celu uwzględnienia drzewa folderów:

Tutaj wprowadź opis obrazu

funkcje

  • Konfigurowalna minimalna i maksymalna odległość głębokości od rozwiązania / pliku projektu
  • Umożliwia użycie specjalnych tagów, aby pomóc w wielu innych możliwych scenariuszach, w tym Git , Mercurial i TFS .
YanZhiwei
źródło
Chociaż ten kod może odpowiedzieć na pytanie, dostarczenie dodatkowego kontekstu dotyczącego tego, jak i / lub dlaczego rozwiązuje problem, poprawiłoby długoterminową wartość odpowiedzi. Przeczytaj ten poradnik odpowiedzi, aby udzielić dobrej odpowiedzi.
thewaywewewewewe
3

Używam VSCommands 10, aby pokazać pełną ścieżkę otwartego pliku rozwiązania.

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

Teraz moje główne okno tytułowe wygląda następująco:

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

Mogę szybko rzucić okiem i zobaczyć, że pracuję w folderze głównym lub folderze rc, ponieważ używamy Mercurial (Hg) i trzymamy oddzielne foldery dla trunk, rc, preprod, prod w ten sposób:

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
superlogiczny
źródło
Czy to to samo, co VSCommands for Visual Studio 2010 ?
Peter Mortensen
2

Dla osób, które nie sprawiły, że metoda VB działała (jak ja), możesz użyć wtyczki:

Dostosuj tytuł okna programu Visual Studio

Zostało to przetestowane w Visual Studio 2008 Ultimate. Możesz go skonfigurować w menu Opcje programu Visual Studio.

Leroy
źródło
1

Powiązana uwaga: Alternatywnie w przypadku programu Visual Studio 2005 można użyć menu poleceń PlikZaawansowane opcje zapisywania . W oknie dialogowym wyświetlana jest pełna ścieżka do bieżącego pliku i możesz skopiować tekst.

Peter Mortensen
źródło
1

Użyj polecenia MKLINK, aby utworzyć łącze do istniejącego rozwiązania. Jeśli chodzi o program Visual Studio, działa on z plikiem łącza, ale wszelkie zmiany są przenoszone do bazowego pliku .sln.

Napisałem o tym tutaj wpis na blogu ...

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

Lee WIllis
źródło
Łącze jest uszkodzone ( „Nie możemy połączyć się z serwerem pod adresem www.willissoftware.com” ). Domena wygasła?
Peter Mortensen
Ta odpowiedź nie jest zbyt przydatna w przypadku zepsutego łącza.
Peter Mortensen
1

Jeśli używasz programu Visual Studio 2010 lub nowszego, możesz użyć rozszerzenia „Visual Studio Window Title Changer”.

Zainstaluj to i użyj następującego wyrażenia „Konfiguracja tytułu okna”, aby wyświetlić ścieżkę rozwiązania:

'sln_dir + "/" + orig_title'

Użyj menedżera rozszerzeń, aby pobrać i zainstalować rozszerzenie. Szczegóły rozszerzenia i jak z niego korzystać można znaleźć tutaj:

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

Muad'Dib
źródło
1
Link jest uszkodzony (404).
Peter Mortensen
0

TabsStudio | 49 USD

To całkiem niezłe (choć płatne) rozszerzenie Visual Studio, które zapewnia:

  • Grupowanie kart
  • Kolorowanie zakładek
  • Transformacja tytułu
  • Wiele dostosowań i rozszerzeń

Zrzut ekranu Tabs Studio

Ścieżka do pliku w stopce | Wolny

Wyświetla pełną ścieżkę do pliku w dolnej części okna edytora:

Zrzut ekranu ścieżki pliku w stopce

Wyróżnienie: Visual Studio Code

W programie Visual Studio Code w wersji 1.26 zaimplementowano bułkę tartą, która wyświetla ścieżkę pliku w osobnym wierszu u góry okna edytora podczas korzystania z kart lub wstawiania nazwy pliku w jego własnym oknie.

Zrzut ekranu z menu nawigacyjnego programu Visual Studio Code

KyleMit
źródło