所以微软为 ST2 提供了语法高亮,但仅此而已。
构建一个可以复制大量 IDE 功能的插件会有多难。我想如果他们可以在 JS 中(在操场上)复制它,作为 ST2 插件应该不会那么难。我只是不确定从哪里开始...我知道如何构建 ST2 插件...但我对编译器、解析器等一无所知...
所以微软为 ST2 提供了语法高亮,但仅此而已。
构建一个可以复制大量 IDE 功能的插件会有多难。我想如果他们可以在 JS 中(在操场上)复制它,作为 ST2 插件应该不会那么难。我只是不确定从哪里开始...我知道如何构建 ST2 插件...但我对编译器、解析器等一无所知...
[编辑]这是一个已启动的 TS 插件列表,我会尽量保持最新:
[/编辑]
我们已经为SublimeLinter添加了基本的 TypeScript 支持,请参阅这个拉取请求。这至少会显示 Sublime 中的 TypeScript 错误。它可以工作,但对于大型项目来说会很慢,因为所有引用的文件都将在每个 lint 上进行解析。这需要在未来解决。
由于 TypeScript 及其服务是用 TypeScript 本身编写的,它们转换为 JS,因此可以从 nodejs 使用,因此可以从 Sublime 使用(正如 Christopher Pappas 建议的那样)。这正是 SublimeLinter 中 TypeScript 支持的工作原理。
如果你想创建一个功能齐全的 Sublime 插件,我建议你看看 TypeScript服务,它提供了自动完成等所有必要的功能。languageService.ts应该是您正在寻找的。此外,您应该查看 TypeScript Playground的源代码,因为它们通过 Web 上的 JS 提供自动完成功能。不幸的是,您必须自己取消缩小源代码,因为游乐场没有官方源代码。
无论如何,如果您真的对创建 Sublime TypeScript 插件感兴趣,我很乐意提供帮助!
[编辑]
您还应该查看 Sublime 文档以获取有关添加完成的信息。
Microsoft 为 Sublime Text 提供了新的 TypeScript 插件:https ://github.com/Microsoft/TypeScript-Sublime-Plugin
用于 Sublime 文本的 TypeScript 插件
选择
Preferences --> Setting - User
添加这一行
"typescript_tsdk": "<path to your folder>/node_modules/typescript/lib"
Mac 和 Ubuntu:
cd ~/"库/应用程序支持/Sublime Text 3/Packages"
git clone --depth 1 https://github.com/Microsoft/TypeScript-Sublime-Plugin.git TypeScript
在 Windows 上:
cd "%APPDATA%\Sublime Text 3\Packages"
git clone --depth 1 https://github.com/Microsoft/TypeScript-Sublime-Plugin.git TypeScript
TypeScript 不仅仅是一种语言和编译器。它提供了一个可以通过第三方插件扩展的服务器。我们作为用户设计和实现我们自己的扩展,例如:
好的部分是,如果您使用此基础架构实现您的解决方案,每个主要编辑器都会开箱即用地支持它:) 我知道至少 vscode、atom webstorm 和 sublime 具有仅与 tsserver(TypeScript 语言服务器)通信的插件和使用它提供的所有功能。
我刚刚进入这个奇妙的世界,但不幸的是文档很差,但我还是取得了一些进展。如果您打算从这里开始,这些是我的建议:
从这里开始:
这是我收集的小插件(我才刚刚开始,WIP 也是如此)https://github.com/cancerberoSgx/typescript-plugins-of-mine 特别推荐你从教程开始:https:// cancerberosgx.github.io/typescript-plugins-of-mine/sample-ts-plugin1/src/
非常欢迎反馈,谢谢!
如果您需要有关最佳实践算法的全面参考,我建议您看一下Let's build a compiler或《Language Implementation Patterns 》这本书。