89

ソリューションエクスプローラーで現在のファイルを自動的に追跡するオプションを求めているわけではありません。これはこの質問で回答されており、動作が嫌いなため、このオプションをオフにしています。

ソリューションエクスプローラーで現在編集しているファイルにジャンプするためのショートカット(またはマクロ、または....)が必要です。

4

10 に答える 10

114

VS 2013には、組み込みのキーボードショートカットCTRL+ \S)があります。

  1. CTRL+バックスラッシュを押す
  2. 両方のキーを離します
  3. Sキーを押す

または、下の画像で強調表示されているボタンをクリックします。

アクティブなドキュメントと同期する

デフォルトの組み合わせが気に入らない場合は、キーボードショートカットをカスタマイズするオプションもあります:)

于 2015-01-05T00:23:32.150 に答える
79

Visual Studio 2015、2017、および2019では、Ctrl+[を押してから。を押すことができますs

これにより、ソリューションエクスプローラーで現在編集されているファイルが強調表示されます。

これは、次のキーボードコマンドを使用して構成できます:SolutionExplorer.SyncWithActiveDocument

再構成するには、[ツール]->[オプション]->[環境]->[キーボード]に移動します

于 2016-03-21T15:44:52.483 に答える
27

私の知る限り、VS2012以前にはそのようなオプションはありません。

VS 2012では、「アクティブドキュメントと同期」オプションが導入されました。説明と画面はこのブログにあります(ページ中央の「アクティブドキュメントと同期」までスクロールしてください)。

于 2013-02-18T13:35:18.137 に答える
6

ソリューションエクスプローラーで現在編集しているファイルを見つけるには:

Ctrl + W + S

以前使用Shift + Alt + Lしましたが、何らかの理由でこれが機能しなくなりました。

他の提案(Ctrl+\,SおよびCtrl+[,SCtrl + `+ S)は、VS2015では機能しません。私はresharperを使用せず、単純なショートカットが使用可能な場合にマクロを使用するのは好きではありません。

于 2017-01-10T09:39:37.527 に答える
6

Visual Studio 2015では、ReSharperを使用して、Shift+ Alt+を押しLて、ソリューションエクスプローラーで編集中の現在のファイルを強調表示できます。

于 2017-01-28T17:16:06.490 に答える
3

VS2010の場合、私はこのマクロを見つけて、私のために働きます:

Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90

Public Module Utilities
    Public Sub TrackProjectItem()
        Dim solution As Solution2 = DTE.Solution
        If Not solution.IsOpen OrElse DTE.ActiveDocument Is Nothing Then Return

        solution.FindProjectItem(DTE.ActiveDocument.FullName).ExpandView()

        Dim FileName As String = DTE.ActiveDocument.FullName

        Dim SolutionExplorerPath As String
        Dim items As EnvDTE.UIHierarchyItems = DTE.ToolWindows.SolutionExplorer.UIHierarchyItems
        Dim item As Object = FindItem(items, FileName, SolutionExplorerPath)

        If item Is Nothing Then
            MsgBox("Couldn't find the item in Solution Explorer.")
            Return
        End If

        DTE.Windows.Item(Constants.vsWindowKindSolutionExplorer).Activate()
        DTE.ActiveWindow.Object.GetItem(SolutionExplorerPath).Select(vsUISelectionType.vsUISelectionTypeSelect)
    End Sub

    Public Function FindItem(ByVal Children As UIHierarchyItems, ByVal FileName As String, ByRef SolutionExplorerPath As String) As Object
        For Each CurrentItem As UIHierarchyItem In Children
            Dim TypeName As String = Microsoft.VisualBasic.Information.TypeName(CurrentItem.Object)
            If TypeName = "ProjectItem" Then
                Dim projectitem As EnvDTE.ProjectItem = CType(CurrentItem.Object, EnvDTE.ProjectItem)
                Dim i As Integer = 1
                While i <= projectitem.FileCount
                    If projectitem.FileNames(i) = FileName Then
                        SolutionExplorerPath = CurrentItem.Name
                        Return CurrentItem
                    End If
                    i = i + 1
                End While
            End If

            Dim ChildItem As UIHierarchyItem = FindItem(CurrentItem.UIHierarchyItems, FileName, SolutionExplorerPath)
            If Not ChildItem Is Nothing Then
                SolutionExplorerPath = CurrentItem.Name + "\" + SolutionExplorerPath
                Return ChildItem
            End If
        Next
    End Function
End Module

元のソースはこちら

于 2013-02-18T13:55:32.203 に答える
3

Visual Studio 2010/2012では、この拡張機能を使用できます(リンク)。ソリューションエクスプローラーのツールバーとコードコンテキストメニューで同期するオプションを追加します。

于 2013-02-19T15:46:09.467 に答える
3

VS 2017の場合、デフォルトの構成は次のとおりです。

CTRL + [、S

そして、あなたがここで見つけることができるショートカットの完全なリスト:

http://visualstudioshortcuts.com/2017/

于 2018-11-21T14:13:23.957 に答える
2

質問が正しければ、[ツール]->[オプション]->[プロジェクトとソリューション]->[一般]に移動し、[ソリューションエクスプローラーでアクティブアイテムを追跡する]オプションをオンにします。

于 2018-04-25T03:37:02.153 に答える
0

私のキーボードで私は押さなければなりませんでした:

Ctrl + ` + S

中央の記号は、バックスペースのすぐ左にあるキーであることに注意してください。

VisualStudio2015を使用します。

于 2016-05-11T09:33:14.580 に答える