【发布时间】:2019-06-29 16:56:32
【问题描述】:
我正在创建一个 vscode 扩展,它可以对文件路径进行一些自定义自动完成。
我想获取用户输入的内容,如果该值解析为工作区中的文件夹,我想列出该文件夹中的所有文件以便自动完成。
例如,给定:
- 工作区位于:/home/me/my-vs-project
- 带有文件:
- /home/me/my-vs-project/assets/dog.png
- /home/me/my-vs-project/assets/cat.jpeg
如果我在 vscode 中输入“assets”或“./assets”,扩展程序应该能够为我提供一个自动完成列表:
- './assets/dog.png'
- './assets/cat.png'
这是一个不起作用的代码的 sn-p(返回 0 个结果)..
let inputAsWorkspaceRelativeFolder = getInput(document, position); // for example, would return: '/home/me/my-vs-project/assets' for input of './assets'
let glob = inputAsWorkspaceRelativeFolder + '/*';
vscode.workspace.findFiles(glob, null, 100).then((uris: vscode.Uri[] ) => {
uris.forEach((uri: vscode.Uri) => {
console.log(uri);
});
});
由于某种原因,上面的代码返回 0 uris。关于如何格式化 glob 以实现这一点的想法?和/或是否有更好的方法?
【问题讨论】:
-
由于您使用的是 Node,您可以从以下任何一个答案中进行选择 - stackoverflow.com/questions/2727167/…
标签: visual-studio-code vscode-extensions