有没有办法禁用视图面板中的命令发射按钮,并在不满足条件时将其灰显?
Is there a way to disable a command-emitting button in a view panel and grey it out if a condition is not met?
我正在编写一个 VS 代码扩展,并且有一个自定义视图,其中包含一个显示项目列表的树视图。
我想在项目列表为空时使三角形按钮变灰。
我觉得这应该是可能的,因为在 Explorer
和 Search
视图中有很多这种行为的实例,但扩展中似乎没有任何东西 API 允许我在自己的扩展中实现它。
我在 VS Code 的源代码中发现 Action
class 带有 enabled
标志,这似乎接近我需要的东西。但是,我无法在 vscode.d.ts
中的扩展 API 中找到任何相关内容,也找不到任何访问这些出现在 VS Code 源代码中的 classes 的方法。
可以吗?
您可以在定义命令时使用 package.json
中的 enablement
property:
{
"title": "Run",
"command": "lgtm.run",
"enablement": "hasLgtmProjects"
}
然后您需要使用 setContext
命令从您的扩展中动态更新 hasLgtmProjects
上下文键。
我正在编写一个 VS 代码扩展,并且有一个自定义视图,其中包含一个显示项目列表的树视图。
我想在项目列表为空时使三角形按钮变灰。
我觉得这应该是可能的,因为在 Explorer
和 Search
视图中有很多这种行为的实例,但扩展中似乎没有任何东西 API 允许我在自己的扩展中实现它。
我在 VS Code 的源代码中发现 Action
class 带有 enabled
标志,这似乎接近我需要的东西。但是,我无法在 vscode.d.ts
中的扩展 API 中找到任何相关内容,也找不到任何访问这些出现在 VS Code 源代码中的 classes 的方法。
可以吗?
您可以在定义命令时使用 package.json
中的 enablement
property:
{
"title": "Run",
"command": "lgtm.run",
"enablement": "hasLgtmProjects"
}
然后您需要使用 setContext
命令从您的扩展中动态更新 hasLgtmProjects
上下文键。