
简体中文
uni-app x语言服务
是为uni-app x
项目提供的语言服务插件。
适用于 cursor/vscode 等兼容vscode插件规范的IDE。
开发者使用其他 AI IDE 时,也可以获得 uni-app x 的良好的语言服务支持。如需要AI Rules,另见文档
插件目前在两个平台发布,vscode官方市场和open-vsx市场。
uni-app x语言服务
,找到插件进行安装。注意: 插件安装完成后,会提示重启编辑器,如果没有提示,需要手动重启编辑器
插件只支持uni-app x
项目。
插件仅支持语言服务,即代码高亮、代码提示、校验、格式化、转到定义。不支持运行、Debug、发行等功能,需要同时打开HBuilderX,协同工作。 因为vscode类插件API,无法定制运行控制台,所以uni-app x的运行仍然在HBuilderX中。
从HBuilderX 4.71+,运行控制台的编译报错,尤其是uts类型报错,都可以在HBuilderX的运行控制台点击AI修复,详见
如果不想使用HBuilderX的AI修复,也可以对HBuilderX的控制台日志选择后点右键,生成AI提示词,此时会给选中的日志补充适合uni-app x的prompt,然后粘贴到cursor等工具中来修复。详见
支持uvue和uts文件的高亮
uni-app x 项目有很多平台,每个平台都有大量的语法和API。尤其是Android、iOS、鸿蒙的系统API非常多。如果开启太多平台,会导致代码提示和校验变慢。
所以uni-app x提供了平台语言服务配置。在底部状态栏可以选择使用的平台(默认是APP-ANDROID)。
注意:选择多个平台,会导致加载多套语言服务,影响内存占用和运行速度。如果只开发一个平台,推荐去掉其他平台的设置。
状态栏
看到语言服务平台信息{
"targets": [
"APP-ANDROID",
"APP-IOS",
"APP-HARMONY",
"WEB",
"MP-WEIXIN"
]
}
条件编译
和平台设置
相关// #ifdef APP-ANDROID
...
// #endif
// #ifdef WEB
...
// #endif
在上述各条件编译的作用域中,各区域内只能提示各条件编译对应平台的专有提示项和各平台通用的提示项
例如:
在 APP-ANDROID
条件编译中可以提示Android系统API
和UNI API
。
在 WEB
条件编译中可以提示DOM API
和UNI API
。
注意:如果取消了某平台的勾选,在此平台对应的条件编译代码区域中将没有任何代码提示
在非条件编译代码区域里,代码提示、语法校验则会以选择的平台为准(默认选择:APP-ANDROID)。
条件编译
的相关代码提示。目前语言服务插件没有内置格式化功能,推荐使用prettier
进行代码格式化。具体如下
安装Prettier
插件
Prettier - Code formatter
安装。在项目中安装prettier
第三方库
prettier
插件版本较低,无法使用plugin
能力,所以还需要自行手动在项目中安装。npm i prettier --save-dev
安装至开发环境中。Preferences: Open Settings (JSON)
或 打开设置(JSON),然后回车。settings.json
中,加入如下配置:{
"[uvue]": {
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"prettier.documentSelectors": ["**/*.uvue", "**/*.uts"],
"prettier.requireConfig": true
}
prettier-plugin-uts.js
文件,添加如下代码:const languages = [
{
name: "uts",
parsers: ["typescript"],
vscodeLanguageIds: ["uts"],
}
];
module.exports = { languages};
.prettierrc
文件,添加如下配置:{
"plugins": [
"./prettier-plugin-uts.js"
],
"overrides": [
{
"files": "*.uvue",
"options": {
"parser": "vue"
}
},
{
"files": "*.uts",
"options": {
"parser": "typescript"
}
}
]
}
保存后即可使用格式化功能。