visual-studio-code - 如何找出哪个扩展在 vscode 中提供了命令?
问题描述
我不知道哪个扩展有什么功能,有没有办法显示它的源?
也很想知道是否可以跟踪功能的源代码。
解决方案
我唯一能想到的就是检查package.json
文件,因为即使vscode.commands.getCommands()
只返回纯字符串。这可以通过vscode.extensions
API 完成:
import * as vscode from 'vscode';
export function activate(context: vscode.ExtensionContext) {
setTimeout(() => {
for (const extension of vscode.extensions.all) {
let commands = extension.packageJSON.contributes?.commands;
if (!Array.isArray(commands)) {
continue;
}
for (const command of commands) {
console.log(command.title + " is from " + extension.id);
}
}
}, 2000);
}
请注意,all
仅包括已激活的扩展程序,因此超时以确保在启动时激活的所有扩展程序都已完成激活。
推荐阅读
- python - 使用 groupby 并创建具有百分比频率的列
- java - 以编程方式传递 keytab 位置失败(Kafka / Kerberos)
- html - 带有文本覆盖和背景颜色的背景图像甚至可以响应 4k 屏幕
- python - ansible AWX 不显示 python 打印语句,但 ansible-playbook 显示
- javascript - 如何只允许在全日历中选择背景事件的第一天?
- jquery - RSpec + Capybara + Selenium Webdriver:测试模态按钮触发选中一个框的jquery不起作用
- mysql - 使用 LOAD DATA INFILE 将数据从 txt 文件加载到 MySQL 时遇到问题
- c - 如何使用 void 指针参数构造 C 函数并在运行时有条件地将它们转换为其他类型?
- python - 调用 PyPI 包中的其他脚本
- javascript - 如何防止子事件中的代码执行父元素事件