- 简体中文 [zh-Hans] # 当前
- 繁體中文 (香港) [zh-Hant-HK]
- 繁體中文 (台灣) [zh-Hant-TW]
- English [en]
- Français [fr]
- Español [es]
- 日本語 [ja]
- 한국어 [ko]
- Русский [ru]
- العربية [ar]
实现或增强开发工具的代码智能补全功能:
可以从 NPM 或 GitHub 获取主目录.
npm i @sm003/autojs6-dts安装后, 定位到 /node_modules/@sm003/autojs6-dts/declarations.
下载最新项目 zip 数据包, 解压后得到 declarations 文件夹.
如使用 WebStorm, 此步骤可略过.
将主目录放置到项目的任意目录中.
假设用户有一个名为 hello 的项目, 项目目录结构如下:
hello / images / ... hello / docs / ... hello / main.js hello / project.json ... ...
则 declarations 主目录支持以下方式放置:
hello / declarations / (推荐) hello / images / declarations / hello / docs / declarations / hello / ... / ... / declarations /
但不能放置在项目的同级或上级目录中.
配置开发工具, 仅索引所选运行时的声明入口, 避免同时扫描多个可选运行时声明目录.
索引完成后开始编写代码并体验代码智能提示.
注: 部分编辑器可能需要重新启动才能开始声明文件的索引.
VSCode 可能无法像 WebStorm 一样识别任意位置的 declarations 文件夹, 尤其是使用 npm 命令部署后, declarations 文件夹更是难以被 VSCode 默认识别. 因此需要将 jsconfig.json 文件复制到项目根目录中, 如:
hello / node_modules / @sm003 / autojs6-dts / ... hello / jsconfig.json hello / main.js ... ...
如果项目中本身已存在 jsconfig.json 文件, 只需将下列配置合并到已有文件即可:
{
"compilerOptions": {
"typeRoots": [
"./node_modules/@sm003/autojs6-dts/declarations",
"./declarations"
],
"types": ["autojs6"]
},
"exclude": ["node_modules", "declarations/autojs6-node", "declarations/autojs6-bun"]
}重启 VSCode 后, 示例中的 hello/main.js 可实现或增强代码智能补全.
仅在脚本实际启用 JSOX 扩展时引用以下入口. index.d.ts 默认不加载这些声明. 若编辑器会扫描全部本地声明文件, 默认排除 aj6-jsox-*-extensions.d.ts, 再显式引用需要的入口.
/// <reference path="./declarations/autojs6/aj6-jsox-extensions.d.ts" />
jsox.extendAll();
const values = [1, 2, 2].distinct();
const parsed = Number.parseFloat('ff', 16);仅启用一个模块时, 选择 aj6-jsox-array-extensions.d.ts, aj6-jsox-number-extensions.d.ts 或 aj6-jsox-math-extensions.d.ts, 并调用对应的 jsox.extend. 第三方库声明覆盖打包的常用核心 API; Dayjs 可选插件需要单独声明, Axios 浏览器适配器未实现的能力不会被声明为完整浏览器 API.
为实际执行环境选择独立的 autojs6-node 或 autojs6-bun 入口, 不与默认 Rhino 全局混用. 导入方式, 异步调用, Bun 客户端加载与同步命令见 运行时声明指南.
从 NPM 直接获取更新:
npm update @sm003/autojs6-dts如需检查更新, 除直接到 当前项目主页 查看外, 还可定位到项目根目录的 package.json 文件, 鼠标悬停在 @sm003/autojs6-dts 依赖项的版本值处, 在浮动窗口中可查看是否存在版本更新. 另外 VSCode 也可借助 Version Lens 插件实现版本更新检查.
通常情况下, AutoJs6 发布版本更新后, 声明文件项目也会伴随更新.
新增imgui 模块进入 AutoJs6 声明: 配合 AutoJs6 Plugin ImGui 1.18.x, 全局 imgui 与 $imgui 的函数, 窗口会话和返回对象都有类型与说明, 这些声明只用于 Rhino 脚本修复ImGui 会话的 fontScale 说明提到了不存在的 ui.getFontSize() 的问题
新增autojs6-node 与 autojs6-bun 声明跟随 Node.js Runtime 2.1.0 与 Bun Runtime 0.22.0: app, shell, 系统信息, device, sensors, media, colors, files, zip, ui, floaty, web, terminal, compose, automator, auto, ocr, threads, timers, events 等模块与 AutoJs6 脚本一致的成员及其返回对象新增Flow 对象的 await() 与 sync(timeout) 进入 Node.js 与 Bun 的声明, 两者都返回 Promise新增plugins.tools.call / callAsync 补全官方插件的 15 个工具名 (OfficialToolName), 其他工具名仍可传入新增OcrResult 补全 extras, ocr 选项补全 useCls, PP-OCRv3 的 variant / profile 与 mergeLine 的说明修复ocr.detect 与 barcode / qrcode detect 的结果类型缺少成员的问题 (Ocr.Result 的 text, label, confidence, bounds, compareTo 与 WrappedBarcode 的成员)修复参数与返回类型按 AutoJs6 脚本模块修正: engines.stopAllAndToast 返回请求停止的引擎数, util.deprecate 接受任意参数且无返回值, Flow 的选择器条件不接受 null, 可传 null 的可选参数与任务选项补上 null修复参数个数按 AutoJs6 脚本模块修正: auto.registerEvent 的 listener, 手势的 stroke, colors 的 color, http 的 options 与 postJson 的 data 必填, dialogs.build, engines 配置与 console.trace 的可选参数优化events, sensors, device, console, shizuku, threads, timers 和 ui 的 Java 原型成员写进模块类型, 不依赖生成的 Java 声明也能补全优化speech.detectLanguage 的说明按 3-Macaw Speech 1.4.0 改为按句判断语种优化speech.models.list 的模型信息补全 updateAvailable 和 latestVersionCode (需要 3-Macaw Speech 1.4.0 或以上), Rhino, Node.js 和 Bun 的声明一致
新增speech 声明补全 diarize, detectLanguage 与 tag 及其 Async 形态: 说话人分离 (谁在何时说话, 可按已注册的声纹认人), 语种识别与音频标签 (AudioSet 的 527 个标签), 选项可带 onProgress 进度回调, 含 Speech.Diarization, Speech.LanguageDetection 与 Speech.Tagging 等结果类型 (AutoJs6 6.8.0 起, 需要 3-Macaw Speech 1.3.0)新增speech 声明补全 speech.speaker 说话人识别: enroll, verify, identify 及其 Async 形态, list 与 remove, 以及错误码 SPEAKER_NOT_FOUND 与 AUDIO_TOO_SHORT (AutoJs6 6.8.0 起, 需要 3-Macaw Speech 1.3.0)优化Speech.Feature 增加 'speaker', 'diarization', 'languageId' 与 'audioTagging'; Speech.Kind 增加 'speaker', 'segment', 'langid' 与 'tagger' 四种模型类别, models.list, setDefault 与 getDefault 可使用这些类别优化speech.models.importFile 的 ImportOptions.kind 收窄为 'asr', 'kws' 与 'tts': 以用户导入身份登记目录以外的模型时只能是这三类, 'vad', 'speaker', 'segment', 'langid' 与 'tagger' 只有目录模型 (与 3-Macaw Speech 的实际行为一致)
请编辑 .readme/ 与 .changelog/ 中的语言 JSON 和模板后重新生成文档, 不要直接修改生成的 Markdown. 根 README 使用简体中文. 下列命令需要 Python 3.10 或更新版本, 无需额外 Python 包; Windows 可用 py 替代 python. --check 只读校验语言集合, 字段, 历史版本与日期, 标点和生成结果, CI 同样执行此检查.
python .python/generate_markdown.py
python .python/generate_markdown.py --check
python -m unittest discover -s .python/tests
