Skip to content

Latest commit

 

History

History
77 lines (50 loc) · 3.08 KB

File metadata and controls

77 lines (50 loc) · 3.08 KB

开发或贡献本项目

目前此仓库存放的不仅仅维护了 ArkTSVSCode 扩展,还维护了 ArkTSvolar 语言服务器、插件、类型定义和虚拟文件系统等一系列底层工具链,他们都会被发布到 npm@arkts 命名空间下。在提交 Pull Request 前,请确保您已经阅读并理解了以下内容。

仓库结构

  • packages/vscode: 存储 ArkTSVSCode 扩展代码
  • packages/language-server: 存储 ArkTS 的语言服务器启动代码,依赖 packages/language-servicepackages/shared
  • packages/language-service: 存储 ArkTS 的语言服务代码,依赖 packages/shared
  • packages/language-plugin: 存储 ArkTS 的语言插件代码,依赖 packages/shared
  • packages/shared: 存储当前整个仓库的一些通用代码
  • packages/types: 存储 build-profile.json5 等文件的类型定义
  • packages/vfs: ArkTS 版虚拟文件系统,原 npm 包名为 @typescript/vfs

开发环境准备

必须有nodepnpmgit环境,并且建议装一个vscode或者类vscode的编辑器(如cursor/trae/windsurf等)。首先使用git克隆本仓库:

git clone https://github.com/groupguanfang/arkTS.git --recursive

请携带--recursive参数,这样就能自动克隆子模块。如果您在克隆的时候没有携带该参数,请手动执行以下命令:

git submodule update --init --recursive

然后cd到项目根目录下,使用pnpm安装依赖:

pnpm install

使用vscode打开文件夹打开项目根目录,点击键盘上的F5即可启动一个扩展开发宿主进程,打开另一个vscode窗口,开始调试项目。

volar labs 插件

请在你的vscode中安装volar labs插件,这样就能看到virtual code的转换过程。

代码检查与类型检查

本项目使用@antfu/eslint-config作为eslint代码检查规则,并使用了tscProject reference模式进行类型检查。提交Pull Request前,可以运行以下命令进行代码检查与类型检查:

pnpm run lint

这实际上是运行了以下命令:

pnpm eslint
pnpm oxlint
pnpm tsc --build --noEmit # 类型检查, 使用 tsc 的 Project reference 模式

如果您忘记了运行检查,Pull RequestCI会自动运行检查,并提示您修复问题。

编译

运行pnpm install除了会安装依赖之外,还会调用tsdown编译整个项目,实际上就是运行了以下命令:

pnpm -F \"{packages/*}\" build

您也可以手动运行此命令进行编译。

打包扩展

打包之前请务必先运行pnpm run build编译项目,并且检查git sub-module是否已经克隆在了本地。然后运行以下命令进行打包:

pnpm run pack

该命令会使用vsce命令打包扩展。打包完成后,会在packages/vscode目录下生成一个vscode-naily-ets-<version>.vsix文件,可以将其直接使用类vscode的编辑器在扩展页面中安装。