TypeScript 7
预览版本(Preview)
预览版本已发布在 npm 上,包名为 @typescript/native-preview。
npm install @typescript/native-preview
npx tsgo # 用法与 tsc 相同
同时还提供了一个 VS Code 预览扩展,可在 VS Code Marketplace 获取。
使用该扩展,需要在 VS Code 设置中添加:
{
"js/ts.experimental.useTsgo": true
}
当前已支持的功能(What Works So Far?)
该项目仍在持续开发中,尚未与 TypeScript 实现完全功能对齐(feature parity)。可能存在 Bug。在提交新 Issue 或认为行为变更是“有意设计”之前,请仔细阅读以下列表。
| 功能 | 状态 | 说明 |
|---|---|---|
| 程序创建(Program creation) | 完成 | 与 TypeScript 6.0 使用相同的文件与模块解析方式,但尚未支持所有解析模式 |
| 解析/扫描(Parsing/scanning) | 完成 | 与 TypeScript 6.0 产生完全一致的语法错误 |
命令行与 tsconfig.json 解析 |
完成 | 已实现,但 tsconfig 错误提示可能不够友好 |
| 类型解析(Type resolution) | 完成 | 与 TypeScript 6.0 类型一致 |
| 类型检查(Type checking) | 完成 | 错误类型、位置与提示信息与 TypeScript 6.0 一致;错误中的类型展示可能略有不同 |
| JavaScript 推断与 JSDoc | 进行中 | 大部分完成,但有意未实现部分特性;声明生成尚未完成 |
| JSX | 完成 | — |
| 声明生成(Declaration emit) | 进行中 | TypeScript 文件已支持;JavaScript 文件尚未完全支持 |
| 代码生成(Emit / JS 输出) | 完成 | — |
| 监听模式(Watch mode) | 原型 | 支持监听文件变化并重建,但不支持增量重新检查;未优化 |
| 构建模式 / 项目引用 | 完成 | — |
| 增量构建 | 完成 | — |
| 语言服务(LSP) | 进行中 | 几乎所有功能已实现 |
| API | 未就绪 | — |
状态定义(Definitions)
- done(已完成):目前未发现明显缺陷或重大未完成工作,可以提交 Bug
- in progress(进行中):功能仍在开发中,部分可用;仅建议提交崩溃类问题(panic),不要提交其他问题
- prototype(原型):仅为概念验证,不建议提交 Bug
- not ready(未就绪):尚未开始或距离可用状态较远,不建议使用或反馈
其他说明(Other Notes)
从长期来看,该仓库及其内容预计将合并至 microsoft/TypeScript 主仓库。
因此,typescript-go 的仓库及 Issue 跟踪器最终将被关闭,请据此合理使用讨论与 Issue。
关于相对于 TypeScript 6.0 的有意变更,请参考 CHANGES.md。
贡献(Contributing)
欢迎贡献代码与建议。大多数贡献需要你同意一份贡献者许可协议(CLA),声明你有权并同意将贡献内容授权给项目方使用。
详情请参见: https://cla.opensource.microsoft.com
提交 PR 时,CLA 机器人会自动检测是否需要签署 CLA,并在 PR 中给出提示(如状态检查或评论)。按照提示操作即可。该流程只需在所有使用该 CLA 的仓库中完成一次。
本项目采用了 Microsoft 开源行为准则(Code of Conduct)。 详情请参见 FAQ 或通过 opencode@microsoft.com 联系。
商标(Trademarks)
本项目可能包含 Microsoft 或第三方的商标或标识。
- 使用 Microsoft 商标需遵循官方品牌规范
- 修改版本中不得造成混淆或暗示官方背书
- 第三方商标遵循各自政策
