ArkTS Language Support for VSCode
在 VSCode / Cursor / Trae 中获得接近 DevEco Studio 的 ArkTS 开发体验 —— 智能补全、实时诊断、代码重构,一个插件全部搞定。
为什么选择本插件
| 痛点 |
本插件的解决方案 |
| DevEco Studio 体积庞大,启动慢 |
复用 DevEco 的语言服务引擎,在轻量的 VSCode / Cursor 中运行 |
| VSCode 缺少深度的 ArkTS 支持 |
提供与DevEco中一致的 .ets 语法高亮、智能补全、诊断等语言服务 |
| 项目配置文件缺乏校验提示 |
内置 JSON Schema 校验,build-profile.json5、oh-package.json5 等配置文件实时纠错 |
| 代码片段需要手动编写 |
内置 30+ 常用 ArkTS 代码片段,一键生成组件、装饰器、生命周期等模板代码 |
| AI 辅助编程能力受限 |
无缝集成 Cursor AI,让大模型真正理解 ArkTS 代码上下文 |
功能一览
1. 智能编码
- 代码补全:组件名、属性、方法、装饰器等上下文感知的智能补全,支持
module.json5 权限字段自动补全
- 悬浮提示:鼠标悬停即可查看类型签名、API 文档
- 签名帮助:函数调用时自动显示参数列表和类型信息
- 内联提示(Inlay Hints):在代码中内联显示参数名称和推断类型,帮助快速理解代码意图
2. 代码导航
- 跳转定义:
F12 或 Ctrl+Click 快速跳转到符号的定义位置
- 查找引用:
Shift+F12 查找符号在项目中的所有引用
- 资源跳转:支持
$r('app.string.xxx') 和 $rawfile('xxx') 资源引用的跳转,可跨模块定位资源文件
- 文档大纲:
Ctrl+Shift+O 查看文件中所有类、接口、函数、枚举等结构
- 类型 / 调用层次:查看类型继承关系和函数调用链
3. 语法高亮
- 语义化高亮:基于语言服务器的语义分析,精确区分
struct、component、decorator、namespace 等 ArkTS 特有语法元素
- JSON5 高亮:为
.json5 配置文件提供语法高亮和图标支持
- 自定义文件图标:
.ets、.ts、.json5 文件在编辑器和资源管理器中显示专属图标
4. 代码诊断
- 多阶段实时诊断:集成 TypeScript 引擎、ETS 引擎、ArkTS 引擎三层校验,全面覆盖语法错误和类型错误
- 配置文件校验:对
oh-package.json5、module.json5、build-profile.json5、app.json5 等配置文件进行 JSON Schema 校验
- 依赖检查:自动检测
oh-package.json5 中的依赖是否已安装、版本是否匹配、本地路径是否有效
- 弃用/未使用标记:对已弃用的 API 显示删除线,未使用的变量显示淡化效果
5. 代码重构
- 重命名:
F2 智能重命名,自动更新所有引用
- 提取方法 / 变量:选中代码块,快速提取为独立的方法或变量
- 提取接口 / 类型:从现有代码中提取接口或类型别名
- 安全删除:删除前自动检测冲突引用,避免破坏性修改
- 组织导入:一键整理
import 语句,移除未使用的导入
6. 代码生成
- 生成 Getter/Setter:为类字段一键生成访问器方法
- 生成构造函数:根据类属性自动生成构造函数
- 生成导出声明:批量生成
export 声明
7. 代码片段
内置丰富的 ArkTS 代码片段,输入前缀即可快速插入:
| 前缀 |
说明 |
@Entry |
生成入口页面组件模板 |
@Component |
生成自定义组件模板 |
@CustomDialog |
生成自定义弹窗模板 |
@Builder / @Styles / @Extend |
生成构建器、样式、扩展装饰器模板 |
@State / @Prop / @Link |
生成状态管理装饰器 |
@Provide / @Consume |
生成跨组件状态共享模板 |
@StorageLink / @StorageProp |
生成应用级状态存储模板 |
ForEach / LazyForEach |
生成循环渲染模板 |
AlertDialog / ActionSheet |
生成弹窗模板 |
aboutToAppear / onPageShow |
生成生命周期方法 |
在 .ets 文件中输入 @ 或关键词前缀,按 Tab 即可插入完整代码片段。
8. 配置文件智能支持
为以下 HarmonyOS 配置文件提供 JSON Schema 校验 + 自动补全:
build-profile.json5 — 构建配置
oh-package.json5 — 包管理配置
module.json5 — 模块配置
app.json5 — 应用配置
hvigor-config.json5 — 构建工具配置
main_pages.json — 页面路由配置
- 资源文件
resources/**/element/*.json
9. 代码格式化
- 支持 整个文件格式化 和 选区格式化
- 基于 TypeScript 语言服务的格式化引擎
- 可自定义缩进、空格、大括号等格式化规则
前置条件
- VSCode 1.75.0 或更高版本(同样支持 Cursor)
- DevEco Studio 已安装(插件需要使用其内置的语言服务引擎和 SDK)
插件会自动从 DevEco Studio 安装路径中定位 LSP 语言服务器和 HarmonyOS SDK,无需手动复制文件。
安装
方式一:从 VSIX 文件安装
- 获取
.vsix 安装包
- 打开 VSCode,按
Ctrl+Shift+P → 输入 Extensions: Install from VSIX...
- 选择
.vsix 文件完成安装
- 重新加载窗口(
Ctrl+Shift+P → Developer: Reload Window)
配置
安装后需要配置 DevEco Studio 路径,以便插件定位语言服务器和 SDK。
必要配置
打开 VSCode 设置(Ctrl+,),搜索 arkts,填写以下配置项:
| 配置项 |
类型 |
说明 |
arkts.deveco.path |
string |
DevEco Studio 安装目录的完整路径 |
示例值:
- Windows:
D:\Program Files\Huawei\DevEco Studio
- macOS:
/Applications/DevEco-Studio.app
配置完成后,SDK 路径和语言服务器路径会自动推导,无需额外设置。如果未手动配置,插件也会尝试从常见安装路径中自动检测。
可选配置
| 配置项 |
类型 |
默认值 |
说明 |
arkts.logging.enabled |
boolean |
true |
启用 LSP 协议日志 |
arkts.logging.level |
string |
INFO |
客户端日志级别(ERROR / WARN / INFO / DEBUG / TRACE) |
arkts.server.logLevel |
string |
INFO |
服务端日志级别 |
arkts.server.logPath |
string |
"" |
自定义服务端日志路径,留空使用默认目录 |
使用指南
快速开始
- 使用 VSCode 打开一个 HarmonyOS / OpenHarmony 项目(项目根目录应包含
build-profile.json5 或 oh-package.json5)
- 插件会自动激活并启动语言服务器,右下角可观察初始化进度
- 初始化完成后即可享受完整的语言服务功能
常用操作速查
| 快捷键 |
功能 |
Ctrl+Space |
触发代码补全 |
F12 |
跳转到定义 |
Shift+F12 |
查找所有引用 |
F2 |
重命名符号 |
Ctrl+Shift+O |
文件大纲(查看符号列表) |
Ctrl+. |
快速修复 / 代码操作 |
Shift+Alt+F |
格式化文档 |
Shift+Alt+O |
组织导入 |
可用命令
按 Ctrl+Shift+P 打开命令面板,输入以下命令:
| 命令 |
说明 |
ArkTS: Restart Language Server |
重启语言服务器(遇到异常时使用) |
查看诊断日志
当遇到问题时,可以通过 LSP 协议日志排查:
Ctrl+Shift+P → Output: Show Output Channels
- 选择 ArkTS Language Server
- 查看客户端与服务器之间的通信日志
项目自动检测
插件会自动检测工作区中的 HarmonyOS 项目结构:
- 扫描
build-profile.json5 获取模块列表
- 自动识别
entry、feature、library 等常见模块目录
- 支持嵌套项目结构,自动定位有效的项目根目录
- 监听配置文件变更,实时更新模块配置
常见问题
插件未激活?
确保项目根目录包含 build-profile.json5 或 oh-package.json5,这是插件识别 HarmonyOS 项目的标志文件。
语言服务不工作?
- 检查
arkts.deveco.path 是否配置正确
- 确认 DevEco Studio 已安装完整(包含 SDK)
- 尝试执行
ArkTS: Restart Language Server 命令
- 查看 ArkTS Language Server 输出通道的日志信息
配置文件报红但内容正确?
确保使用的是最新版本的 SDK,Schema 校验规则会随 SDK 版本更新。
更新日志
1.0.0
- 初始版本发布
- 完整 LSP 语言服务支持(补全、诊断、导航、重构等)
- ArkTS 语义化语法高亮
- 30+ 内置代码片段
- JSON5 配置文件校验与智能提示
- 资源引用跳转(
$r() / $rawfile())
- 代码生成(Getter/Setter、构造函数、导出声明)
- 代码重构(提取方法/变量、安全删除、重命名)
| |