Отобразить путь к решению/файлу в Visual Studio IDE
-
09-06-2019 - |
Вопрос
Я часто работаю с несколькими экземплярами Visual Studio, часто работая над разными ветвями одного и того же решения.
Раньше VC6 отображал полный путь к текущему исходному файлу в строке заголовка, но Visual Studio 2005, похоже, этого не делает.Это делает несколько более неудобным, чем должно быть, определение того, какую ветку решения я сейчас рассматриваю (самый быстрый способ, который я знаю, — это навести указатель мыши на вкладку, чтобы вы получили путь к исходному файлу в виде всплывающей подсказки).
Есть ли способ разместить полное решение или путь к файлу в строке заголовка или, по крайней мере, где-нибудь, что всегда будет видно, чтобы я мог быстро определить, какая ветка загружена в каждый экземпляр?
Решение
Не существует собственного способа сделать это, но вы можете добиться этого с помощью макроса.Подробности полностью описаны здесь: http://www.helixoft.com/blog/archives/32
Вам просто нужно добавить небольшой макрос VB в раздел макросов EvironmentEvents и перезапустить VS.
Примечание:Путь не будет отображаться при первой загрузке VS, но будет отображаться всякий раз, когда вы меняете просматриваемый файл.Вероятно, есть способ это исправить, но, похоже, это не имеет большого значения.
Другие советы
Это расширение, доступное в онлайн-галерее, специально предназначенное для этой работы.Проверить http://erwinmayer.com/labs/visual-studio-2010-extension-rename-visual-studio-window-title/
Ознакомьтесь с последним выпуском ВСкомандс 2010 облегченная.Он представил функцию под названием «Дружественное имя решения», где вы можете настроить ее для отображения пути к файлу решения (или любой его части) в заголовке главного окна 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, чтобы показать полный путь к открытому файлу решения.
Friendly Name: {repo}
Solution Path Regex: (?<repo>.*)
Теперь мое главное окно заголовка выглядит так:
c:\repositories\acme.marketplace.trunk\Acme.Marketplace.web\Acme.Marketplace.Web.sln
Я могу быстро взглянуть и увидеть, что работаю в папке транка или папке rc, потому что мы используем Mercurial (Hg) и сохраняем отдельные папки для транка, 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, которое позволяет изменить заголовок окна, включив в него дерево папок.
Функции
- Настраиваемое минимальное и максимальное расстояние по глубине из файла решения/проекта.
- Позволяет использовать специальные теги, которые помогут во многих других возможных сценариях, в том числе
Git
,Mercurial
иTFS
.
Используйте команду MKLINK, чтобы создать ссылку на существующее решение.Что касается Visual Studio, то она работает с файлом ссылки, но любые изменения передаются в базовый файл .sln.
Я написал здесь запись в блоге об этом...
Для людей, у которых не заработал метод VB (например, у меня), вы можете использовать плагин:
http://visualstudiogallery.msdn.microsoft.com/f3f23845-5b1e-4811-882f-60b7181fa6d6
Протестировал в VS2008 Ultimate.Вы можете настроить его в меню «Параметры» VS.
Если вы используете VS2010 или выше, вы можете использовать расширение «Visual Studio Window Changer».Установите это и используйте следующее выражение «Настройка заголовка окна», чтобы отобразить путь решения:
'sln_dir + "/" + orig_title'
Используйте менеджер расширений, чтобы загрузить и установить расширение.Подробности о расширении и способах его использования можно найти здесь:
https://visualstudiogallery.msdn.microsoft.com/2e8ebfe4-023f-4c4d-9b7a-d05bbc5cb239?SRC=VSIDE
Связанное примечание:В качестве альтернативы для Visual Studio 2005 вы можете использовать команду Файл -> Дополнительные параметры сохранения.В диалоговом окне отображается полный путь к текущему файлу, и вы можете скопировать текст.
Как Дэн также упомянул об этом в комментарии, Путь к файлу в нижнем колонтитуле расширение служит той же цели.
TabsStudio | $49
Это довольно хорошее (хотя и платное) расширение VS, которое обеспечивает:
- Группировка вкладок
- Раскраска вкладок
- Преобразование названия
- Множество настроек и расширений
Путь к файлу в нижнем колонтитуле | Бесплатно
Отображает полный путь к файлу в нижней части окна редактора.
Похвальный отзыв:Код Visual Studio
VS-код в версии 1.26 реализованы хлебные крошки который отображает путь к файлу в отдельной строке в верхней части окна редактора при использовании вкладок или встраивает имя файла в отдельном окне.