如何在 vscode 中打开文件夹选择器对话框?

How to open folder picker dialog in vscode?

我正在编写必须支持在用户选择的文件夹中创建新的自定义项目模板(目录结构和少量文件)的扩展。有什么方法可以在 vscode 中打开文件夹选择器对话框?

在 VSCode 1.17 中添加了文件对话框。参见 window.showOpenDialog and window.showSaveDialog

他们似乎不会选择没有文件的文件夹,但他们确实允许多个select,当然你可以只使用任何所选文件的路径名。

const options: vscode.OpenDialogOptions = {
     canSelectMany: false,
     openLabel: 'Open',
     filters: {
        'Text files': ['txt'],
        'All files': ['*']
    }
};

vscode.window.showOpenDialog(options).then(fileUri => {
    if (fileUri && fileUri[0]) {
        console.log('Selected file: ' + fileUri[0].fsPath);
    }
});

请注意,您可能需要更新 package.json 文件才能访问这个新的 API。

"engines": {
    "vscode": "^1.17.0"
},

现在我们可以使用 window.showOpenDialog select 文件夹。只需根据您的需要调整选项。

    const options: vscode.OpenDialogOptions = {
        canSelectMany: false,
        openLabel: 'Select',
        canSelectFiles: false,
        canSelectFolders: true
    };
   
   vscode.window.showOpenDialog(options).then(fileUri => {
       if (fileUri && fileUri[0]) {
           console.log('Selected file: ' + fileUri[0].fsPath);
       }
   });

目前我正在开发 Vs Code 版本:1.51.0