[visual-studio] Visual Studio IDE에 솔루션 / 파일 경로 표시
저는 종종 Visual Studio의 여러 인스턴스로 작업하며 종종 동일한 솔루션의 다른 분기에서 작업합니다.
Visual C ++ 6.0 은 제목 표시 줄에 현재 소스 파일의 전체 경로를 표시하는 데 사용되었지만 Visual Studio 2005에서는이 작업을 수행하지 않습니다. 이것은 내가 현재보고있는 솔루션의 어떤 분기를 해결하는 것보다 약간 더 어색하게 만듭니다 (내가 아는 가장 빠른 방법은 탭 위로 마우스를 가져 가서 소스 파일의 경로를 도구 설명으로 가져 오는 것입니다).
전체 솔루션 또는 파일 경로를 제목 표시 줄 또는 적어도 항상 표시되는 어딘가에 가져 와서 각 인스턴스에로드되는 분기를 빠르게 알 수있는 방법이 있습니까?
답변
이를 수행하는 기본 방법은 없지만 매크로를 사용하여 수행 할 수 있습니다. 자세한 내용은 여기에 자세히 설명되어 있습니다. VS 2005 제목 표시 줄에 전체 파일 경로 (또는 기타)를 표시하는 방법
EvironmentEvents 매크로 섹션에 약간의 Visual Basic 매크로를 추가하고 Visual Studio를 다시 시작하기 만하면됩니다.
참고 : 경로는 Visual Studio를 처음로드 할 때 표시되지 않지만보고있는 파일을 변경할 때마다 표시됩니다. 이 문제를 해결하는 방법이있을 수 있지만 큰 문제는 아닙니다.
답변
이것은이 작업에 특별히 맞춤화 된 온라인 갤러리에서 사용할 수있는 확장입니다. Checkout Labs> Visual Studio 확장 : Visual Studio 창 제목 사용자 지정 .
답변
VSCommands 2010 Lite 의 최신 릴리스를 확인하십시오 . Visual Studio의 기본 창 제목에 솔루션 파일 경로 (또는 그 일부)를 표시하도록 설정할 수있는 Friendly Solution Name이라는 기능이 도입되었습니다.
자세한 내용 : http://vscommands.com/releasenotes/3.6.8.0 및 http://vscommands.com/releasenotes/3.6.9.0
답변
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
답변
참으로 어색합니다. 탭 위로 마우스를 가져가는 것은 실제로 몇 가지 유용한 기능 중 하나입니다.
대안 : 파일 탭을 마우스 오른쪽 버튼으로 클릭합니다 . Visual Studio에서 파일 경로 찾기 . 우리가 그것과 관련이있는 것 같습니다.
답변
Visual Studio 창 제목을 사용자 지정하는 방법
Visual Studio 창 제목 사용자 지정 플러그인을 설치합니다 .
확장을 설치 한 후 메뉴에서 설정을 찾을 수 있습니다.
메뉴 도구 ► 옵션 ► VS 창 제목 사용자 지정 .
추가 정보
Visual Studio 창 제목 사용자 지정은 Visual Studio 에 대한 경량 확장으로, 폴더 트리를 포함하도록 창 제목을 변경할 수 있습니다.
풍모
답변
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에 대해 별도의 폴더를 유지하기 때문에 트렁크 폴더 또는 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