Staging repo for development of native port of TypeScript
TypeScript 7
预览版
npm 上提供了预览版构建,包名为 @typescript/native-preview。
npm install @typescript/native-preview
npx tsgo # Use this as you would tsc.
VS Code 扩展预览版可在 VS Code 市场 获取。
要使用此扩展,请在 VS Code 设置中进行如下配置:
{
"js/ts.experimental.useTsgo": true
}
目前已实现哪些功能?
该项目仍在开发中,尚未完全达到 TypeScript 的功能对等水平。可能存在一些 bug。在提交新 issue 或认为某项变更为有意为之之前,请仔细查看以下列表。
| 功能 | 状态 | 说明 |
|---|---|---|
| 程序创建 | done | 文件和模块解析与 TS 6.0 相同。尚未支持所有解析模式。 |
| 解析/扫描 | done | 语法错误与 TS 6.0 完全一致 |
命令行和 tsconfig.json 解析 |
done | 已完成,但 tsconfig 错误提示可能不够友好。 |
| 类型解析 | done | 类型与 TS 6.0 相同。 |
| 类型检查 | done | 错误、位置和消息与 TS 6.0 相同。错误中的类型回显可能显示不同。 |
| JavaScript 特定推断和 JSDoc | done | 已完整实现,但有意缺失了部分功能。声明输出存在较大差异,这是有意为之,旨在更接近 TS 声明。 |
| JSX | done | - |
| 声明输出 | done | - |
| 代码生成(JS 输出) | done | - |
| 监视模式 | prototype | 可监视文件并重新构建,但不支持增量重新检查。尚未优化。 |
| 构建模式 / 项目引用 | done | - |
| 增量构建 | done | - |
| 语言服务(LSP) | in progress | 几乎所有功能均已实现。 |
| API | not ready | - |
定义:
- done(又称“认为已完成”):我们目前未发现任何功能缺失或仍需完成的主要工作。可以提交 bug。
- in progress:当前正在开发中;部分功能可能可用,部分可能不可用。可以提交崩溃相关的 issue,但请不要提交其他类型的 issue。
- prototype:仅为概念验证;请勿提交 bug。
- not ready:要么尚未开始,要么距离可用状态还很远,因此暂时无需关注。
其他说明
从长远来看,我们期望将此仓库及其内容合并到 microsoft/TypeScript 中。
因此,typescript-go 的仓库和 issue 跟踪器最终将被关闭,请据此对待相关讨论和 issue。
有关相对于 TypeScript 6.0 的有意变更列表,请参阅 CHANGES.md。
贡献指南
本项目欢迎各类贡献和建议。大多数贡献要求您同意一份贡献者许可协议(CLA),声明您有权并且确实授予我们使用您贡献内容的权利。详情请访问贡献者许可协议。
当您提交拉取请求时,CLA 机器人会自动判断您是否需要提供 CLA,并对 PR 进行相应标记(例如状态检查、评论)。只需按照机器人提供的指示操作即可。您只需在所有使用我们 CLA 的仓库中完成一次此操作。
本项目已采用Microsoft 开源行为准则。有关更多信息,请参阅行为准则常见问题,或通过opencode@microsoft.com联系我们,提出其他问题或意见。
商标
本项目可能包含项目、产品或服务的商标或徽标。Microsoft 商标或徽标的授权使用受Microsoft 商标和品牌指南约束,且必须遵循该指南。在本项目的修改版本中使用 Microsoft 商标或徽标不得引起混淆,也不得暗示 Microsoft 的赞助。任何第三方商标或徽标的使用均受第三方政策的约束。
下载使用量
项目总下载次数(含Clone、Pull、 zip 包及 release 下载),每日凌晨更新