Visual Studio IDE でのソリューション/ファイル パスの表示
-
09-06-2019 - |
質問
私は Visual Studio の複数のインスタンスを頻繁に使用し、同じソリューションの異なるブランチで作業することがよくあります。
VC6 ではタイトル バーに現在のソース ファイルの絶対パスが表示されていましたが、Visual Studio 2005 ではこれが行われないようです。そのため、現在参照しているソリューションのブランチを特定するのが、本来よりも少し面倒になります (私が知っている最も簡単な方法は、タブの上にカーソルを置くと、ソース ファイルのパスがツールチップとして表示されることです)。
完全なソリューションまたはファイル パスをタイトル バー、または少なくとも常に表示される場所に表示して、どのブランチが各インスタンスに読み込まれているかをすぐに確認できるようにする方法はありますか?
解決
これを行うネイティブな方法はありませんが、マクロを使用して実現できます。詳細はここで完全に説明されています。 http://www.helixoft.com/blog/archives/32
EvironmentEvents マクロ セクションに小さな VB マクロを追加し、VS を再起動するだけです。
注記:最初に VS をロードしたときにはパスは表示されませんが、表示しているファイルを変更するたびに表示されます。おそらくこれを修正する方法はありますが、大したことではないようです。
他のヒント
これは、このジョブ用に特別に調整されたオンライン ギャラリーで利用できる拡張機能です。チェックアウト http://erwinmayer.com/labs/visual-studio-2010-extension-rename-visual-studio-window-title/
最新リリースをチェックしてください VSコマンド 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
確かに気まずいですね。タブ上にマウスを置くことは、確かに数少ない便利な機能の 1 つです。代替案:ファイルタブを右クリックします: 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
Mercurial (Hg) を使用し、次のように、trunk、rc、preprod、prod 用に別々のフォルダーを保持しているため、trunk フォルダーまたは rc フォルダーで作業していることがすぐにわかります。
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 Title Changer」を使用できます。これをインストールし、次の「ウィンドウ タイトル セットアップ」式を使用してソリューション パスを表示します。
'sln_dir + "/" + orig_title'
拡張機能マネージャーを使用して、拡張機能をダウンロードしてインストールします。拡張機能の詳細と使用方法は次のとおりです。
https://visualstudiogallery.msdn.microsoft.com/2e8ebfe4-023f-4c4d-9b7a-d05bbc5cb239?SRC=VSIDE
関連メモ:代わりに、Visual Studio 2005 の場合は、[ファイル] -> [詳細保存オプション] コマンドを使用できます。ダイアログには現在のファイルのフルパスが表示され、テキストをコピーできます。
として ダン コメントでも言及しましたが、 フッターのファイルパス 拡張機能も同じ目的を果たします。
タブスタジオ | $49
以下を提供する非常に優れた (有料ですが) VS 拡張機能です。
- タブのグループ化
- タブの色付け
- タイトル変換
- 豊富なカスタマイズと拡張機能
フッターのファイルパス |無料
エディタ ウィンドウの下部に完全なファイル パスを表示します。
佳作:Visual Studioコード
VSコード バージョン 1.26 で実装されたブレッドクラム これにより、タブを使用する場合はエディタ ウィンドウの上部にある別の行にファイル パスが表示され、独自のウィンドウの場合はファイル名がインラインで表示されます。