2016-06-27 6 views
2

api를 findFiles (https://code.visualstudio.com/Docs/extensionAPI/vscode-api#WorkspaceConfiguration)이라고 부르면 작업 영역 설정에서 제외 된 폴더를 무시하고 싶습니다. 그러나이를 수행하는 방법은 확실하지 않습니다. glob 문을 결합하는 방법을 찾으려고했지만 많은 운이 없었습니다. GLOB_BRACE 예제를 찾았지만,이 경우에는 작동하지 않을 것이라고 생각합니다.여러 glob 문자열을 vscode findFiles api에 전달할 수 있습니까?

(예를 들어, 글로브 ("{foo는/cpp를, 바/ 통화 당}", GLOB_BRACE))

무시 findFiles의 글로브 문에 여러 디렉토리를 전달하는 방법이 있나요?

내가 이상적으로 이런 일을하고 싶습니다 ...

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); 

하지만 불행히도 작동하지 않습니다. 어떤 아이디어라도 대단히 감사하겠습니다! 내가 아마 눈부신 뭔가를 놓치고 있다면 사과 할께.

감사합니다.

+0

VSCode 소스에서 제외 된 파일을 고려하지 않았 음을 확인했습니다. 이 버그 또는 누락 된 기능, 내가 제출할 거라고 생각합니다. – seairth

+0

그 동안 또 다른 방법은 then()을 사용하여 glob 생성을 시도하는 대신 수동으로 결과를 필터링하는 것입니다. – seairth

+0

안녕 Seairth! 이 점을 분명히 해줘서 고맙습니다. 나는 분명히 뭔가 빠져 있지 않은지 확인하고 싶었습니다! 이 문제를 조사해 주셔서 감사합니다. 이 문제/요청을 열어 여기에 링크를 추가하면 +1 할 수 있습니다.) 다시 한 번 감사드립니다! – Tom

답변

1

좋아 그것이 내가 실제로 작동합니까 위의 코드 예제를 밝혀 난 그냥 내가 vscode 소스에서와에서 빠른 모습을 가지고 그것을 얼굴, 손바닥,

을 실현하지 않았다 그래서 src/vs/base/commom/glob.ts 사용할 수있는 정규 표현식 및 구문 분석 방법에 대한 몇 가지 예가 있습니다. 구분 기호로 '{'와 ','를 사용하면 올바르게 처리됩니다.