跳转到内容

tsconfig.json 配置

由于插件本身为了兼容性考虑,本插件只会屏蔽掉您指定的 OpenHarmony SDK 目录中的 TypeScript 文件的所有功能,并只保留 ArkTS 语言服务器提供的高亮、补全等LSP功能; 如果您遇到跳转 Promise.allSettled 等之类的类型出现大面积报红,可以在您的项目根目录创建一个 tsconfig.json 文件,并添加以下内容:

// This file using for Naily's ArkTS Support vscode extension.
{
"compilerOptions": {
"target": "ES2022",
"module": "ES2022",
"moduleResolution": "Bundler",
"strict": true,
"skipLibCheck": true
}
}

此时,vscode 内置的 TypeScript 语言服务器就能正确识别到 Promise.allSettled 等之类的声明文件,能减少这类报红的出现。

插件扩展了 tsconfig.json 文件的 compilerOptions 编译器选项,下面列出一些其他的高级配置选项以供参考。一般情况下,您无需配置这些选项,插件会自动根据您的项目自动配置这些选项。

  • 类型: object
  • 默认值: 自动合并 OpenHarmony SDK 中的 tsconfig.json 文件中的 compilerOptions 选项

配置 ets 语言编译器选项。默认情况下,插件将会自动根据您的 ets.sdkPath vscode 插件配置的固定路径配置读取 OpenHarmony SDK 中的 tsconfig.json 文件中的 compilerOptions 选项自动合并该配置到您的 tsconfig.json 文件中,您如果修改了该配置则仅为深度合并该选项,具体读取的 tsconfig.json 文件路径为如下:ets/build-tools/ets-loader/tsconfig.json:

  • 文件夹ets
    • 文件夹api/
    • 文件夹arkts/
    • 文件夹build-tools/
      • 文件夹ets-loader/
        • tsconfig.json
    • 文件夹component/
    • 文件夹kits/
  • 文件夹js/
  • 文件夹native/
  • 文件夹previewer/
  • 文件夹toolchains/
  • 类型: boolean
  • 默认值: true

配置是否启用 ets 语言的注解功能。默认为 true, 此时插件能正确提供 @interface 的补全和高亮提示信息功能:

@interface
class MyInterface
MyInterface
{
MyInterface.value: string
value
: string
}
@
function (prototype: MyInterface): void
MyInterface
({
MyInterface.value: string
value
: 'Hello, world!' })
class
class MyClass
MyClass
{}
  • 类型: number
  • 默认值: 20

设置兼容的 OpenHarmony SDK 版本。目前该值被插件内部锁定为默认 API20

  • 类型: 'beta1' | 'beta2' | 'beta3' | 'beta5' | 'beta6' | 'release'
  • 默认值: 'beta2'

设置兼容的 OpenHarmony SDK 版本阶段。目前该值被插件内部锁定为默认 beta2

  • 类型: 'npm' | 'ohpm'
  • 默认值: 'ohpm'

设置项目使用的包管理器类型。目前该值被插件内部锁定为默认 ohpm。如果切换到 npm,则导入语句将切换为导入 node_modules 中的模块,而非 oh_modules 中的模块。

  • 类型: boolean
  • 默认值: true

控制对 oh_modules 目录下代码的检查严格程度。默认为 true,开启时将 oh_modules 视为项目代码,进行严格检查; oh_modules 中的错误会被报告为 Error,关闭时将降级为 Warning

  • 类型: string
  • 默认值: 自动指定为 ets/build-tools/ets-loader

设置 ets 语言加载器路径。插件会自动根据您的 ets.sdkPath vscode 插件配置的固定路径配置读取 OpenHarmony SDK 中的 ets/build-tools/ets-loader 目录作为默认值。

  • 文件夹ets
    • 文件夹api/
    • 文件夹arkts/
    • 文件夹build-tools/
      • 文件夹ets-loader/
    • 文件夹component/
    • 文件夹kits/
  • 文件夹js/
  • 文件夹native/
  • 文件夹previewer/
  • 文件夹toolchains/