TypeScript语言服务示例

Ole*_*lik 12 typescript

TypeScript附带了源代码,测试和一些示例,编译器显然具有用于AST操作的API以及代码完成和着色等.

但是,我找不到任何有关如何使用该API的示例.有没有人试图理解它?也许有些博主?

我能找到的唯一例子是一些基本的Sublime Text插件.

can*_*ero 13

我处于同样的情况 - 这是我到目前为止的进展:

我制作的教程 - 实现一个语言服务插件,该插件添加自动完成和重构建议,源代码记录了很多细节:https : //cancerberosgx.github.io/typescript-plugins-of-mine/sample-ts-插件 1/src/

有关文档,请从此处开始:https : //github.com/Microsoft/TypeScript/wiki/Using-the-Compiler-API - 包含使用编译器的片段,以及如何将 ts 代码编译为 AST,如何使用服务语言,转译为 js,访问 ast ,修改并打印回 ts 字符串。

如果要实现代码补全、重构等,那么就需要开发一个Service Language Plugin。这是一个“入门” https://github.com/Microsoft/TypeScript/wiki/Writing-a-Language-Service-Plugin

然后你就可以开始玩我的 TypeScript 编译器 API Playground。它包含几个示例,您可以在线编辑和执行 https://typescript-api-playground.glitch.me/

此外,我强烈建议尽可能使用此库,因为它具有高级 API:https : //github.com/dsherret/ts-simple-ast/

最后,我收集的带有有用重构的 TypeScript 语言服务插件(基于 ts-simple-ast)https://github.com/cancerberoSgx/typescript-plugins-of-mine/tree/master/typescript-plugin-proactive-代码修复

我对这个问题表示怀疑,因为文档不好,它是一个重要的 API,也许这有助于组织打字稿插件的集中目录,有人知道这样的事情是否存在吗?


Rya*_*ugh 8

如果您看一下,src\harness\fourslash.ts您可以看到如何tests\ls\fourslash\编写测试语言服务(in )的测试.该文件使用实现的模拟"主机" src\harness\harness.ts来管理语言服务运行的环境.这些测试处理诸如成员和完成列表,类型信息,格式化,重命名,查找引用等内容.