我想写一个扩展来做一个这样的函数:
merge files
explore/context
之类的命令
我发现似乎vscode
没有API来选择explore
中的文件。 那么我该如何做select multiple files
?
根据extension-points,我发现所有RawContextKey
here,我发现条件不符合我的要求。
答案 0 :(得分:0)
VSCode 1.20介绍了multi select in explorer window。在文档中,我没有找到when
条款,您可以使用该条款来查明是选择了2个文件还是只选择了一个,但在源代码中我找到了这些上下文:
const RawWorkbenchListFocusContextKey = new RawContextKey<boolean>('listFocus', true);
export const WorkbenchListSupportsMultiSelectContextKey = new RawContextKey<boolean>('listSupportsMultiselect', true);
export const WorkbenchListFocusContextKey = ContextKeyExpr.and(RawWorkbenchListFocusContextKey, ContextKeyExpr.not(InputFocusedContextKey));
export const WorkbenchListDoubleSelection = new RawContextKey<boolean>('listDoubleSelection', false);
export const WorkbenchListMultiSelection = new RawContextKey<boolean>('listMultiSelection', false);
具体来说,当您选择2个文件时,WorkbenchListDoubleSelection
用于上下文菜单中的Compare selected
命令。
答案 1 :(得分:0)
VSCode最近增加了允许在自定义视图中进行多重选择的功能。要允许在自定义视图中进行多重选择,您应该在TreeViewOptions<T>
函数调用中指定第二个参数window.createTreeView
并将其属性canSelectMany
设置为true。
用法示例如下:
window.createTreeView(/*YOUR_VIEW_NAME*/, {
treeDataProvider: /*YOUR_TREE_DATA_PROVIDER*/,
canSelectMany: true // enables multi selection
});