私はC# でVSPackageを開発しています。Visual Studio で単一のファイル (または複数のファイルが開かれている) のみの場合に、現在のファイルを取得する方法を知りたいです。
階層がある場合(実際のソリューションが開かれている場合)、すべて正常に機能します。しかし、Visual Studio で単一のファイルを開くと、現在の選択を取得できません。つまり、Visual Studio (ソリューションなし) とselect File
-> Open
->を開きFile
ます。
itemid、documentCookie、mkDocumentName などのいずれかを取得する必要があります。
私は次のことを試しました:
IVsMonitorSelection.GetCurrentSelection()
-> 階層のないソリューション アイテム ID を常に取得します (Intpr.Zero)IVsSelectionEvents
-> 選択イベントをリッスンしようとしましたが、新しい itemId は常にソリューション itemid ですRunningDocumentTable
->まあ、開いているファイルを列挙できるので、解決に近づいていますが、現在のファイルを特定する方法がわかりません。