在菜单中显示可选的命令 .json 不允许注释
editorFocus 编辑的面板的焦点
"keybindings":[
{
"command": "extension.insertHeader",
"key": "ctrl+q",
"mac":"cmd+f10",
"when":"editorTextFocus"
}
],
"menus":{
"editor/context": [
{
"when":"editorFocus",
"command": "extension.insertHeader",
"group":"navigation"
}
]
}
menus 定义菜单显示的内容
需要注意的是 它是通过控制command命令来控制菜单显示内容 会自动的去寻找此命令的title
如果需要显示多条内容 因为是数组 在一个对象 修改对应的command 即可
1 插件激活一次以后 就不需要再次激活了
export function activate(context: ExtensionContext) {} 里面的命令就可以使用了
2 languages的 的注册命令 是通过 语言类型来执行的
conmands 的注册命令 是通过 命令来执行的(也可以是点击的title 具体好多执行方法 在package中可以找到)
3 视图(树形图 )
"contributes": {
"viewsContainers": { //左边活动栏(大视图的内容)
"activitybar": [
{
"id": "package-explorer",
"title": "Package Explorer",
"icon": "resources/package-explorer.svg"
}
]
},
"views": { //左边活动栏的右边 算是二级视图 (看这里的属性与左边活动栏的 ID相对应 可以理解为一级目录二级目录) 其中explorer是vscode 自带的文 //件夹的二级目录
"package-explorer": [
{
"id": "package-dependencies",
"name": "Dependencies"
},
{
"id": "package-outline",
"name": "Outline"
}
]
}
}
刚开始觉得这东西很神秘 什么是提供程序 又该怎么写呢
后来发现 所谓的提供程序 就是执行什么函数 什么命令 紧接着又发现 每一个API 都有与之对应的提供程序类型
我们只需要 let us=new .... 比如
这里就需要一个TreeDataProvide的提供程序
vscode.window.registerTreeDataProvider('nodeDependencies', nodeDependenciesProvider);
let nodeDependenciesProvider=new DepNodeProvider(“需要参数 先不管”)
然后既然new了 肯定有一个类让我们new 这个类的类型 其实vscode都定义好了
export class DepNodeProvider implements vscode.TreeDataProvider
注意这里有一个接口 vscode.TreeDataProvider 已经定义好了 这个类的类型
我们需要的参数 又是这个类的对象 所以 我们需要的提供程序 也就是这个函数需要什么 已经写好啦 我们只要根据他的需要 给他就可以了