在Visual Studio IDE中显示解决scheme/文件path

我经常使用Visual Studio的多个实例,通常在同一解决scheme的不同分支上工作。

VC6用来在其标题栏中显示当前源文件的完整path,但Visual Studio 2005似乎没有这样做。 这使得它比应该是我目前正在查看的解决scheme(我知道的最快的方法是hover在选项卡上,以便获取源文件的path作为工具提示)的哪个分支应该稍微尴尬。

有什么办法可以将完整的解决scheme或文件path放到标题栏中,或者至less在某处始终可见,这样我就可以快速判断哪个分支被加载到每个实例中?

没有一个原生的方式来做到这一点,但你可以用macros来实现它。 详细信息在这里完整描述: http : //www.helixoft.com/blog/archives/32

你只需要添加一个VBmacros到EvironmentEventsmacros部分,并重新启动VS.

注意:当你第一次加载VS时,path不会显示出来,但是当你改变你正在查看的文件时,path就不会显示出来。 可能有办法解决这个问题,但这似乎不是什么大问题。

这是专门为此工作量身定做的在线画廊的扩展。 结帐http://erwinmayer.com/labs/visual-studio-2010-extension-rename-visual-studio-window-title/

查看VSCommands 2010 Lite的最新版本。 它引入了一个称为“友好解决scheme名称”的function,您可以将其设置为在Visual Studio主窗口标题中显示解决scheme文件path(或其任何部分)。 更多细节: http : //vscommands.com/releasenotes/3.6.8.0和http://vscommands.com/releasenotes/3.6.9.0

对于2008年来说,从上面所接受的答案中编写macros的一个稍微好一点的方法是使用Solution事件而不是文档的事件 – 即使没有select文档,也可以始终编辑标题栏。 这里是我的同事的macros,我基于另一个放在一起 – 你要改变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 

我正在使用VSCommands 10显示解决scheme文件打开的完整path。

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

现在我的主标题窗口如下所示:

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

我可以快速浏览一下,看到我正在中继文件夹或rc文件夹中工作,因为我们使用Mercurial(Hg)并为trunk,rc,preprod保留单独的文件夹,如下所示:

 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 

确实很尴尬。 hover在标签上确实是less数有用的东西之一。 替代方法:右键单击文件选项卡: http: //weblogs.asp.net/piseth/archive/2008/11/08/find-your-file-path-in-visual-studio.aspx似乎我们必须做的那

使用MKLINK命令创build到现有解决scheme的链接。 就Visual Studio而言,它是关于链接文件的工作,但任何更改都会转到底层的.sln文件。

我在这里写了一篇博客文章

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

对于那些没有得到VB方法工作的人(比如我),你可以使用一个插件:

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

在VS2008旗舰版上进行了testing。 你可以在VS的选项菜单中configuration它。

如果您使用的是VS2010或更高版本,则可以使用扩展名“Visual Studio窗口标题更改器”。 安装它并使用以下“窗口标题设置”expression式来显示解决schemepath:

'sln_dir +“/”+ orig_title'

使用扩展pipe理器下载并安装扩展。 扩展的细节和如何使用它可以在这里find:

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

相关说明:另外,对于Visual Studio 2005,您可以使用命令文件 – >高级保存选项。 该对话框显示当前文件的完整path,并且您可以复制文本。

如何自定义Visual Studio窗口标题

安装自定义Visual Studio窗口标题插件。

安装扩展后,可以在菜单中find设置。

Tools ► Options ► Customize VS Window Title

更多信息

Customize Visual Studio Window TitleCustomize Visual Studio Window Title的轻量级扩展,它允许您更改窗口标题以包含文件夹树

在这里输入图像说明

特征

  • 解决scheme/项目文件中可configuration的最小和最大深度距离
  • 允许使用特殊标签来帮助其他许多可能的场景,其中包括GitMercurialTFS