在Visual Studio IDE中显示解决方案/文件路径


79

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

Visual C ++ 6.0用于在其标题栏中显示当前源文件的完整路径,但是Visual Studio 2005似乎没有执行此操作。这比确定我当前正在查看的解决方案的哪个分支稍微有些尴尬(我知道的最快方法是将鼠标悬停在选项卡上,以便获得源文件的路径作为工具提示)。

有没有办法将完整的解决方案或文件路径放入标题栏,或者至少将其始终显示在某个位置,以便我可以快速确定将哪个分支装入每个实例?


11年,但仍不可用:-/
joym8 '19

Answers:


24

没有本地方法可以执行此操作,但是可以使用宏来实现。在此处完整描述了详细信息:如何在VS 2005标题栏中显示完整的文件路径(或其他任何内容)

您只需要向EvironmentEvents宏部分添加一个Visual Basic宏,然后重新启动Visual Studio。

注意:第一次加载Visual Studio时,该路径不会显示,但是当您更改要查看的文件时,该路径将显示。可能有解决此问题的方法,但这似乎没什么大不了的。


4
页脚上的文件路径也是很好的扩展
丹,

1
@dan ...但是在编辑器底部吃了一行(不在状态栏中(您知道,调试时蓝色变为橙色))。尤其是在小屏幕等情况下,要考虑到这一点。无论如何,谢谢您的指导。
yO_

32

这是专门为这项工作量身定制的在线画廊中的扩展。结帐实验室> Visual Studio扩展:自定义Visual Studio窗口标题


3
太棒了 可以正常使用的简约扩展。无需配置。
ErikÖjebo,2013年

3
也可以在VS2013中使用。
罗宾·詹姆斯·凯里森

3
同样在2015年工作
Danny Beckett

2
同样适用于2017年
irsis

1
也可以在2019年使用。(可选)重新启用窗口标题栏,或者仅在任务栏中观察您的更改。在v16.4.2上测试。
克里斯,

17

查看VSCommands 2010 Lite的最新版本。它引入了一个称为“友好解决方案名称”的功能,您可以在其中设置它以在Visual Studio的主窗口标题中显示解决方案文件路径(或其任何部分)。

更多详细信息:http : //vscommands.com/releasenotes/3.6.8.0http://vscommands.com/releasenotes/3.6.9.0



所有链接(domain vscommands.com)似乎都已断开(超时)。
彼得·莫滕森


5

对于Visual Studio 2008,从接受的答案中编写宏的一种更好的方法是使用解决方案事件而不是文档事件-这样,即使您没有选择文档,也可以始终编辑标题栏。

这是我和我的同事根据另一个宏放在一起的宏-您将需要更改第15-18行,以从源目录中提取分支名称,以便进行设置。

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


3

我正在使用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


3

如何自定义Visual Studio窗口标题

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

安装扩展程序后,可以在菜单中找到设置。

菜单工具选项自定义VS窗口标题

更多信息

自定义Visual Studio窗口标题Visual Studio的轻型扩展,它允许您更改窗口标题以包括文件夹树:

在此处输入图片说明

特征

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

尽管此代码可以回答问题,但提供有关如何和/或为什么解决问题的其他上下文将提高​​答案的长期价值。请阅读此操作指南以提供优质的答案。
thewaywere是

2

对于没有使用VB方法的人(像我一样),您可以使用插件:

自定义Visual Studio窗口标题

它已在Visual Studio 2008 Ultimate中进行了测试。您可以在Visual Studio的“选项”菜单中对其进行配置。


2

如果您使用的是Visual Studio 2010或更高版本,则可以使用扩展名“ Visual Studio窗口标题更改器”。

安装此程序并使用以下“窗口标题设置”表达式来显示解决方案路径:

'sln_dir + "/" + orig_title'

使用扩展程序管理器下载并安装扩展程序。扩展的详细信息以及如何使用它可以在这里找到:

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


链接断开(404)。
彼得·莫滕森


1

相关说明:作为替代,对于Visual Studio 2005,可以使用命令菜单文件高级保存选项。该对话框显示当前文件的完整路径,您可以复制文本。


1

使用MKLINK命令创建指向您现有解决方案的链接。就Visual Studio而言,它正在使用链接文件,但所有更改都将在基础.sln文件中进行。

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

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


链接已断开(“我们无法通过www.willissoftware.com连接到服务器。”)。域已过期?
彼得·莫滕森

对于断开的链接,此答案不是很有用。
彼得·莫滕森

0

TabsStudio | 港币$ 49

这是一个非常不错的(尽管是付费的)Visual Studio扩展,它提供:

  • 标签分组
  • 标签着色
  • 标题转换
  • 大量的自定义和扩展

Tabs Studio屏幕截图

文件路径页脚| 自由

它在编辑器窗口的底部显示完整的文件路径:

页脚上的文件路径截图

荣誉奖:Visual Studio代码

Visual Studio Code版本1.26实现了面包屑,当使用选项卡时,该文件路径在编辑器窗口顶部的单独行中显示文件路径,或者在其自己的窗口中内联文件名。

Visual Studio代码面包屑截图

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.