vscode插件开发,自动完成
时间: 2023-10-17 12:08:50 浏览: 221
vscode-plugin:适用于Visual Studio Code的Kite自动完成插件
VS Code 插件开发中,自动完成是一个非常常用的功能,可以大大提高开发效率。以下是实现自动完成的步骤:
1. 在 `package.json` 文件中添加以下代码:
```
"contributes": {
"languages": [
{
"id": "your_language_id",
"aliases": [
"Your Language"
],
"extensions": [
".your_file_extension"
],
"configuration": "./language-configuration.json"
}
],
"completions": [
{
"language": "your_language_id",
"path": "./snippets/your_completion.json"
}
]
}
```
其中,`your_language_id` 为你的语言的 ID,`aliases` 为你的语言的别名,`extensions` 为你的语言的文件扩展名,`configuration` 为你的语言的配置文件路径,`completions` 中的 `language` 为你的语言的 ID,`path` 为你的自动完成文件路径。
2. 在 `language-configuration.json` 文件中添加以下代码:
```
{
"comments": {
"lineComment": "//",
"blockComment": ["/*", "*/"]
},
"brackets": [
["{", "}"],
["[", "]"],
["(", ")"]
],
"autoClosingPairs": [
{"open": "{", "close": "}"},
{"open": "[", "close": "]"},
{"open": "(", "close": ")"}
],
"surroundingPairs": [
{"open": "{", "close": "}"},
{"open": "[", "close": "]"},
{"open": "(", "close": ")"}
]
}
```
其中,`comments` 为注释的配置,`brackets` 为括号的配置,`autoClosingPairs` 为自动关闭的括号对,`surroundingPairs` 为包围选中内容的括号对。
3. 在 `your_completion.json` 文件中添加你的自动完成代码,例如:
```
{
"function": {
"prefix": "fn",
"body": [
"function ${1:name}(${2:params}) {",
"\t${3:console.log('Hello, World!');}",
"}"
],
"description": "Create a function"
}
}
```
其中,`prefix` 为前缀,`body` 为自动完成的代码,`description` 为描述。
4. 在你的插件代码中,使用 `vscode.languages.registerCompletionItemProvider()` 方法注册自动完成提供程序,例如:
```
vscode.languages.registerCompletionItemProvider("your_language_id", {
provideCompletionItems(document, position, token, context) {
// 返回你的自动完成项
}
})
```
在 `provideCompletionItems()` 方法中,你需要返回你的自动完成项。你可以使用 `vscode.CompletionItem()` 类来创建自动完成项。
以上就是 VS Code 插件开发中实现自动完成的步骤。希望能帮助到你!
阅读全文