在带有VS Code扩展名的文件中查找

Kub*_*uba 5 typescript visual-studio-code vscode-extensions

我正在实现一个利用Tree View的vs代码扩展。

每当用户单击该项目时,我都想执行“在文件中查找”命令。

public getTreeItem(element: Item): TreeItem {
    return {
        label: element.name,
        collapsibleState: element.isGroup ? TreeItemCollapsibleState.Collapsed : TreeItemCollapsibleState.None,
        command: element.isGroup ? void 0 : {
            command: 'workbench.action.findInFiles',
            arguments: [element.name],
            title: 'Find references'
        }
     ...
   }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我element.name作为workbench.action.findInFiles命令的参数传递。不起作用-只是打开“搜索”侧栏。

我在文档中寻找了一些参考,但是没有运气。

Gam*_*a11 3

从 2019 年 4 月版本 (1.34) 开始,现在可以通过指定query参数来实现这一点。您还可以使用triggerSearch立即开始搜索:

{
    command: 'workbench.action.findInFiles',
    arguments: {
        query: element.name,
        triggerSearch: true
    },
    title: 'Find references'
}
Run Code Online (Sandbox Code Playgroud)

完整的选项列表如下:

export interface IFindInFilesArgs {
    query?: string;
    replace?: string;
    triggerSearch?: boolean;
    filesToInclude?: string;
    filesToExclude?: string;
    isRegex?: boolean;
    isCaseSensitive?: boolean;
    matchWholeWord?: boolean;
}
Run Code Online (Sandbox Code Playgroud)

请注意,query必须设置任何其他值才能得到尊重。