3

私はVSCode拡張機能を作成していて、ユーザーが選択したフォルダー/サブフォルダーに基づいてファイルを作成/削除する必要があります。

ビジュアル スタジオ コード API を使用して、エクスプローラー ツリーから選択したフォルダーを見つける方法はありますか? 開いているファイルは、アクティブなテキスト エディタまたはonDidOpenTextDocument(). ユーザーがフォルダーを選択したかどうか、選択した場合は選択したフォルダーへのパスを見つけることに興味があります。

例:workspace.rootPath開いているプロジェクトのルートを提供します。同様に、ユーザーが選択したサブフォルダー (存在する場合) を特定するにはどうすればよいですか。

4

1 に答える 1

10

しばらく探していたところ、ドキュメントに次のように記載されていることがわかりました。

注: (コンテキスト) メニューからコマンドが呼び出されると、VS Code は現在選択されているリソースを推測しようとし、コマンドの呼び出し時にそれをパラメーターとして渡します。たとえば、エクスプローラ内のメニュー項目には選択したリソースの URI が渡され、エディタ内のメニュー項目にはドキュメントの URI が渡されます。 vscode 拡張機能の貢献ポイント

それにより、github Get selected file folderに関するこの質問/バグにたどり着きました。これにより、 stef-levesque/vscode-hexdumpの github リポジトリに たどり着き、そこから次のものを取得しました。

let disposable = Commands.registerCommand('extension.superExtension', async (fileUri) => {
    console.log(fileUri);
})

注: エディターでコンテキスト メニューが使用されている場合、これは空になります。

于 2018-03-01T04:59:44.557 に答える