10

所以微软为 ST2 提供了语法高亮,但仅此而已。

构建一个可以复制大量 IDE 功能的插件会有多难。我想如果他们可以在 JS 中(在操场上)复制它,作为 ST2 插件应该不会那么难。我只是不确定从哪里开始...我知道如何构建 ST2 插件...但我对编译器、解析器等一无所知...

4

6 回答 6

12

[编辑]这是一个已启动的 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 文档以获取有关添加完成的信息。

于 2012-10-15T18:28:47.670 回答
7

Microsoft 为 Sublime Text 提供了新的 TypeScript 插件:https ://github.com/Microsoft/TypeScript-Sublime-Plugin

于 2015-04-13T11:41:04.427 回答
2

我会看看这些其他可能的解决方案,特别是 Node,然后从那里开始:

从节点使用 TypeScript 编译器

TypeScript 是否为 NodeJS 模块访问提供了明确的公共 API?

于 2012-10-11T22:46:41.647 回答
1

用于 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
    
于 2016-11-18T05:45:27.553 回答
0

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/

非常欢迎反馈,谢谢!

于 2018-05-09T05:45:47.463 回答
-3

如果您需要有关最佳实践算法的全面参考,我建议您看一下Let's build a compiler或《Language Implementation Patterns 》这本书。

于 2012-10-11T17:47:12.450 回答