Вопрос

Я часто работаю с несколькими экземплярами 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, которое позволяет изменить заголовок окна, включив в него дерево папок.

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 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

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

VS Code Breadcrumbs Screenshot

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top