Skip to content

🧩 VSCode鸿蒙ArkTS插件 ✨✍️ 支持各种补全/跳转 ⛺️ 支持codelinter检测代码错误 🎵 VSCode HarmonyOS ArkTS plugin for personal use ✨✍️ supports source code navigation and completion ⛺️ supports codelinter to detect errors

License

Notifications You must be signed in to change notification settings

ohosvscode/arkTS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

654 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Naily's ArkTS Support

English | 简体中文

GitHub Repo stars  VSCode Marketplace version  @arkts/declarations NPM version  @arkts/language-server NPM version  GitHub commit activity  GitHub repo size  Ask DeepWiki  GitHub last commit (branch) 

刚建了一个QQ群,欢迎加入一起交流学习 (群号: 746153004)

这是一个基于Volar开发的ArkTS VSCode扩展。🌹为似乎到现在还没有支持VSCode,现有的VSCode市场中的ArkTS扩展大都非常简陋,所以决定自己写一个。

Features

  • 🌹 1.x版本开始具备完整的ArkTS语言支持,全量支持所有ArkTS语法。
  • 🎨 内置文件图标主题:提供ArkTS Icons主题,支持ArkTS文件类型(.ets.json5等)和常见Web项目文件(JavaScript、React、CSS、Markdown等),适用于Nx monorepo等混合项目。
  • 🖊️ 完善的JSON Schema支持。支持以下文件的JSON Schema:
    • build-profile.json5 模块级别/项目级别配置
    • oh-package.json5 模块级别/项目级别配置
    • module.json5 模块级别/项目级别配置
    • code-linter.json5 模块级别/项目级别配置
    • resources/element/下所有的color.jsonstring.json等的kv值配置
    • main_pages.json5配置
    • AppScope/app.json5配置
  • 📦 1.x版本开始支持安装和管理OpenHarmony SDK,并且支持根据当前打开的项目自动探测API版本,发出弹窗提示下载切换
  • 🥇 1.1.6+ 版本开始支持完美的 $r 函数补全和跳转、支持 module.json5 文件的补全和跳转、resources/element/ 下所有json文件点击查询全局引用;由 @arkts/project-detector hvigor项目分析器提供强力支撑 ✊
  • 🍞 1.1.8+ 版本开始支持 module.json5 文件路径补全和跳转、引用表达式错误诊断、requestPermissions 权限补全等一系列 new feature ✨
  • 🌾 1.2.10+ 版本增加 hvigor 资源管理器面板,支持资源限定符文件夹创建、资源引用索引等功能
  • 🎨 1.2.12+ 版本增加 oxk 代码格式化支持

截图

插件安装 📦

或者直接在VSCode中搜索ArkTS Support即可。

食用方法 📖

详情请见 Arkcode 组织文档

VSCode 文件图标主题 🖼️

内置 ArkTS Icons 主题

本扩展内置了ArkTS Icons文件图标主题,提供对ArkTS和Web开发文件的完整支持:

支持的文件类型:

  • ArkTS文件.ets.hml.json5配置文件
  • Web开发:JavaScript (.js.jsx)、TypeScript (.ts.tsx)、React
  • 样式文件:CSS、SCSS、SASS、LESS、HTML
  • 文档:Markdown (.md.mdx)、文本文件
  • 配置文件.gitignore.env.eslintrcpackage.jsonnext.config.js
  • 常见文件夹node_modulessrccomponentspagesapp

启用方式:

  1. 打开命令面板 (Cmd+Shift+P / Ctrl+Shift+P)
  2. 输入 "Preferences: File Icon Theme"
  3. 选择 "ArkTS Icons"

或在 settings.json 中设置:

{
  "workbench.iconTheme": "arkts-icons"
}

📖 详细文档ArkTS 文件图标主题完整指南

Material Icon Theme(可选)

也可以使用Material Icon Theme,我已经给Material Icon Theme提交了PR,目前将.ets.d.ets直接用上了TypeScript官方的文件图标包,升级到v5.22.0之后的版本都可用 👇

Material icon theme

PR地址: material-extensions/vscode-material-icon-theme#2966

配置

Key Description Type Default
ets.sdkPath OpenHarmony SDK 路径。每次更改此设置时将会重启 ETS 语言服务器。(此路径对应deveco studio 安装目录下的sdk/default/openharmony路径) string ""
ets.baseSdkPath 默认其它版本 OpenHarmony SDK 安装路径路径。所有版本的 SDK 都将安装在此路径下。(此路经对应deveco studio 设置中的 OpenHarmony SDK 位置) string "${os.homedir}/OpenHarmony"
ets.hmsPath HMS SDK 路径。因为 HMS SDK 是独立于 OpenHarmony SDK 的,所以需要另外单独设置。一般您可以在 DevEco Studio 安装目录下找到该SDK。(此路径对应deveco studio 安装目录下的sdk/default/harmony路径) string ""
ets.lspDebugMode 启用 ETS 语言服务器调试日志。 boolean false
ets.ignoreWorkspaceLocalPropertiesFile 忽略从本地工作区 local.properties 文件中自动推断基础 SDK 路径。 boolean false
ets.linterVersion The version of the ArkTS linter to use. Set to 'off' to disable the linter. string "1.1"
ets.resourceReferenceDiagnostic 未匹配到的 $r() 资源引用的诊断级别 string "error"
ets.localImagePath 本地HarmonyOS/OpenHarmony模拟器镜像存放位置。

在 MacOS 下, 默认路径为 ~/Library/Huawei/Sdk; 在 Windows 下, 默认路径为 %APPDATA%\Local\Huawei\Sdk. | string | `` | | ets.imageConfigPath | HarmonyOS 配置文件存放位置。

在 MacOS 下, 默认路径为 ~/Library/Application Support/Huawei/DevEcoStudio6.0; 在 Windows 下, 默认路径为 %APPDATA%\Roaming\Huawei\DevEcoStudio6.0; 在其他平台, 默认路径为 ~/.huawei/DevEcoStudio6.0. | string | `` | | ets.deployedEmulatorPath | 部署的模拟器存放位置。

在 Windows 下, 默认路径为 %APPDATA%\Local\Huawei\Emulator\deployed; 在其他平台下, 默认路径为 ~/.huawei/Emulator/deployed. | string | `` | | ets.emulatorLogPath | 模拟器日志存放位置。

在 MacOS 下, 默认路径为 ~/Library/Logs/Huawei/DevEcoStudio6.0; 在 Windows 下, 默认路径为 %APPDATA%\Local\Huawei\DevEcoStudio6.0\log; 在其他平台, 默认路径为 ~/.huawei/DevEcoStudio6.0/log. | string | `` |

命令

Command Title
ets.restartServer ETS: 重启 ArkTS 服务器
ets.installSDK ETS: 安装/切换 OpenHarmony SDK
ets.createProject ETS: 创建 ArkTS 项目
ets.resourceExplorer.refresh ETS: 刷新 Hvigor 资源管理器
ets.resourceExplorer.openFile ETS: 在编辑器中打开文件
ets.resourceExplorer.openResourceQualifierEditor ETS: 打开资源限定符编辑器
ets.openDeviceManager ETS: 打开设备管理器
ets.copyHdcPathToClipboard ETS: 复制 HDC 路径

推荐食用搭配

ArkTs-X 组织有维护一个官方的跨平台arkts项目构建管理cli,可用于build和烧录

可以参考以下链接进行安装

命令行工具

参考使用方式:

ohos@user Desktop % ace create demo
? Enter the project name(demo): # 输入工程名称,不输入默认为文件夹名称
? Enter the bundleName (com.example.demo):  # 输入包名,不输入默认为com.example.工程名
? Enter the runtimeOS (1: OpenHarmony, 2: HarmonyOS): 1 # 输入RuntimeOS系统
? Please select the Complie SDK (1: 10, 2: 11, 3: 12): 2 # 输入编译SDK版本
Signing iOS app for device deployment using developer identity: "Apple Development: xxxxx"

Project created. Target directory:  ${当前目录}/demo.
In order to run your app, type:

   $ cd demo
   $ ace run

Your app code is in demo/entry.

Star History 🌟

Star History Chart

Alt

Contact to Author 📧

  • Telegram: @GCZ_Zero
  • X (Twitter): @GCZ_Zero
  • QQ: 1203970284,QQ群: 746153004
  • WeChat: gcz-zero

Coffee ☕️

如果觉得这个项目对你有帮助,可以请作者喝杯咖啡 ☕️

也可以加入QQ群,一起交流学习 (群号: 746153004)

License 📝

MIT

About

🧩 VSCode鸿蒙ArkTS插件 ✨✍️ 支持各种补全/跳转 ⛺️ 支持codelinter检测代码错误 🎵 VSCode HarmonyOS ArkTS plugin for personal use ✨✍️ supports source code navigation and completion ⛺️ supports codelinter to detect errors

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 13