我想在单击树状视图项目时而不是在出现的菜单中运行命令。现在在我的package.json中,我有这个:
{
"command": "test.view.showError",
"when": "view == test.view && viewItem == test",
"group": "inline"
}
现在,“ inline”将在您必须单击以运行命令的单词旁边放置一个图标,但是我希望在单击节点本身时运行该命令。
我如何将“组”更改为?还是我做完全不同的事情?
谢谢
答案 0 :(得分:2)
您必须在command
实例上设置TreeItem
属性。
命令?:Command
选择树项时应执行的command。
https://code.visualstudio.com/docs/extensionAPI/vscode-api#TreeItem
答案 1 :(得分:1)
将 vscode.Command
对象传递给您的 TreeItem
,如下面的代码片段所示。确保您已在 package.json
和 extension.ts
中定义您的命令。
class TreeItem extends vscode.TreeItem {
command = {
"title": "Show error",
"command": "test.view.showError",
}
constructor(label: string) {
super(label);
}
}
以下是 vscode.Command
的完整类型定义:
/**
* Represents a reference to a command. Provides a title which
* will be used to represent a command in the UI and, optionally,
* an array of arguments which will be passed to the command handler
* function when invoked.
*/
export interface Command {
/**
* Title of the command, like `save`.
*/
title: string;
/**
* The identifier of the actual command handler.
* @see [commands.registerCommand](#commands.registerCommand).
*/
command: string;
/**
* A tooltip for the command, when represented in the UI.
*/
tooltip?: string;
/**
* Arguments that the command handler should be
* invoked with.
*/
arguments?: any[];
}