Отображение решения / пути к файлу в среде Visual Studio IDE


Я часто работаю с несколькими экземплярами Visual Studio, часто работая в разных ветвях одного и того же решения.

VC6 используется для отображения полного пути к текущему исходному файлу в строке заголовка, но Visual Studio 2005, похоже, не делает этого. Это делает его немного более неудобным, чем должно быть, чтобы выяснить, какую ветвь решения я в настоящее время смотрю (самый быстрый способ, который я знаю, - это наведение курсора на вкладку, чтобы вы получили путь к исходному файлу как подсказка.)

есть ли способ получить полное решение или путь к файлу в строке заголовка или, по крайней мере, где-то, что всегда видно, чтобы я мог быстро определить, какая ветвь загружается в каждый экземпляр?

13 70

13 ответов:

нет собственного способа сделать это, но вы можете достичь этого с помощью макроса. Подробности описаны здесь полностью:http://www.helixoft.com/blog/archives/32

вам просто нужно добавить небольшой макрос VB в раздел макросов EvironmentEvents и перезапустить VS.

Примечание: путь не будет отображаться при первой загрузке VS, но будет всякий раз, когда вы измените, какой файл вы просматриваете. Вероятно, есть способ исправить это, но это не похоже на большой сделка.

Это расширение доступно в онлайн-галерее специально для этой работы. Выезд http://erwinmayer.com/labs/visual-studio-2010-extension-rename-visual-studio-window-title/

Проверьте последнюю версию VSCommands 2010 Lite. Он представил функцию под названием Friendly Solution Name, где вы можете настроить ее для отображения пути к файлу решения (или любой его части) в заголовке главного окна Visual Studio. Подробнее:http://vscommands.com/releasenotes/3.6.8.0 и http://vscommands.com/releasenotes/3.6.9.0

для 2008 года немного лучший способ написать макрос из принятого ответа выше-использовать события решения вместо событий документа - это позволяет всегда редактировать строку заголовка, даже если у вас нет выбранного документа. Вот макрос, который мой коллега и я собрали вместе на основе другого - вы захотите изменить строки 15-18, чтобы вытащить имя ветви из исходного каталога, однако вы настроены.

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

Это действительно неловко. Наведение курсора на вкладку действительно является одной из немногих полезных вещей. Альтернативы: щелкните правой кнопкой мыши на вкладке Файл: http://weblogs.asp.net/piseth/archive/2008/11/08/find-your-file-path-in-visual-studio.aspx Кажется, мы имеем к этому отношение

Я использую VSCommands 10, чтобы показать полный путь к файлу решения open.

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

Теперь мое главное окно заголовка выглядит так:

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

Я могу быстро взглянуть и увидеть, что я работаю в папке trunk или папке rc, потому что мы используем Mercurial (Hg) и сохраняем отдельные папки для trunk, rc, preprod, prod следующим образом:

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

как настроить заголовок окна Visual Studio

установить Настройка Заголовка Окна Visual Studio плагин.

после установки расширения, настройки можно найти в меню.

Tools ► Options ► Customize VS Window Title.

дополнительная информация

Customize Visual Studio Window Title это облегченное расширение для Visual Studio, которое позволяет изменить заголовок окна, чтобы включить папку дерево

enter image description here

особенности

  • настраиваемое минимальное и максимальное расстояние глубины от файла решения / проекта
  • позволяет использовать специальные теги, чтобы помочь со многими другими возможными сценариями, которые включают в себя Git,Mercurial и TFS.

используйте команду MKLINK для создания ссылки на существующее решение. Что касается Visual Studio, то он работает с файлом ссылки, но любые изменения идут в базовый .sln файл.

Я написал запись в блоге здесь об этом...

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

для людей, которые не получили метод VB для работы (как я) вы можете использовать плагин:

http://visualstudiogallery.msdn.microsoft.com/f3f23845-5b1e-4811-882f-60b7181fa6d6

протестировал его в VS2008 Ultimate. Вы можете настроить его в меню опций VS.

Если вы используете VS2010 или выше, вы можете использовать расширение "Visual Studio window Title Changer". Установите это и используйте следующее выражение "настройка заголовка окна" для отображения пути решения:

'sln_dir +" / "+ orig_title'

используйте диспетчер расширений для загрузки и установки расширения. Подробную информацию о расширении и как его использовать можно найти здесь:

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

примечание: в качестве альтернативы, для Visual Studio 2005, можно использовать команду Файл -> Дополнительные параметры сохранения. В диалоговом окне отображается полный путь к текущему файлу, и вы можете скопировать текст.

Как Дэн также упомянул об этом в комментарии Путь К Файлу В Нижнем Колонтитуле

TabsStudio | 49$

это довольно хороший (хотя и платный) VS расширение, которое обеспечивает:

    Группировка Раскраска
  • Трансформация
  • много настройки и расширения

Tabs Studio Screenshot

Путь К Файлу В Нижнем Колонтитуле | бесплатное

отображает полный путь к файлу в нижней части редактора окно

File Path On Footer Screenshot

Почетное Упоминание: Visual Studio Code

VS Code версия 1.26 реализованы панировочные сухари который отображает путь к файлу в отдельной строке в верхней части окна редактора при использовании вкладок или встроить имя файла, когда в своем собственном окне.

VS Code Breadcrumbs Screenshot