5

findFilesAPI ( https://code.visualstudio.com/Docs/extensionAPI/vscode-api#WorkspaceConfiguration )を呼び出すときに、ワークスペース設定で除外されたフォルダーを無視したいのですが、どうすればよいかわかりません。これ。glob ステートメントを組み合わせる方法を探してみましたが、うまくいきませんでした。GLOB_BRACE の例を見つけましたが、この場合はうまくいかないと思います。

(例 glob("{foo/ .cpp,bar/ .cpp}", GLOB_BRACE))

無視する findFiles の glob ステートメントに複数のディレクトリを渡す方法はありますか?

私は理想的にはこのようなことをしたいと思っています...

let search_config = vscode.workspace.getConfiguration( "search" );
let search_exclude_settings = search_config.get( "exclude" );
let exclude_properties = "{";
for ( var exclude in search_exclude_settings ) {
    if( search_exclude_settings.hasOwnProperty( exclude ) ) {
        exclude_properties += exclude + ",";
    }
}
exclude_properties += filename_and_extension + "}";

var files = vscode.workspace.findFiles(filename_search, exclude_properties, 100);

しかし、残念ながらそれはうまくいきません。どんなアイデアでも大歓迎です!明らかに何かが欠けている可能性がある場合は、お詫び申し上げます。

お時間をいただきありがとうございます!

トム

4

1 に答える 1

4

さて、上にリストしたコード例が実際に機能することがわかりましたが、それが手のひらに面していることに気づきませんでした

vscode のソースをざっと見てみると、src/vs/base/commom/glob.ts に、使用できる正規表現の例とその解析方法がいくつかあります。セパレータとして「{」と「,」を使用すると、正しく処理されます。

于 2016-06-29T23:21:55.287 に答える