【问题标题】:TypeScript plugin for SublimeSublime 的 TypeScript 插件
【发布时间】:2012-10-02 11:06:49
【问题描述】:

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

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

【问题讨论】:

  • 所以?你打算为 Sublime 创建一个 TypeScript 插件吗?是否已经有 Github 存储库?正如我所提到的:我愿意提供帮助:)
  • @CodeSalad 我不认为我有资格 :( 但是我会极大地帮助任何有资格的人!FunkMonkey 说他可能会开始一个:github.com/SublimeLinter/SublimeLinter/pull/…

标签: sublimetext2 typescript


【解决方案1】:

[edit]这是已启动的 TS 插件列表,我会尽量保持最新:

[/edit]

我们已经为 SublimeLinter 添加了基本的 TypeScript 支持,请参阅 this pull request。这至少会显示 Sublime 中的 TypeScript 错误。它可以工作,但对于大型项目来说会很慢,因为所有引用的文件都将在每个 lint 上进行解析。这需要在未来解决。

由于 TypeScript 及其服务是用 TypeScript 本身编写的,它们转换为 JS,因此可以从 nodejs 使用,因此可以从 Sublime 使用(正如 Christopher Pappas 建议的那样)。这正是 SublimeLinter 中 TypeScript 支持的工作原理。

如果你想创建一个功能齐全的 Sublime 插件,我建议你看看 TypeScript services,它提供了自动完成等所有必要的功能。 languageService.ts 应该是你要找的。此外,您应该查看 TypeScript Playground 的源代码,因为它们通过 Web 上的 JS 提供自动完成功能。不幸的是,您必须自己取消缩小源代码,因为 Playground 没有官方源代码。

无论如何,如果您真的对创建 Sublime TypeScript 插件感兴趣,我很乐意提供帮助!

[编辑]

您还应该查看 Sublime 文档以获取有关添加 completions 的信息。

【讨论】:

  • 你知道有什么变化吗?似乎这两个插件都停滞了一点。他们中的任何一个都可以使用 ST3 吗?
  • 几周前我尝试了 sublime-typescript,但遇到了问题。不过,他们似乎在 5 天前更新了它。
  • sublime-typescript 不再维护
【解决方案2】:

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

【讨论】:

  • 很高兴知道这一点。我遵循了所有步骤,但它不起作用......我没有得到任何智能感知、语法识别或任何东西。基本上 Sublime 仍然不知道 typescript 是什么。我正在使用免费的 Sublime Text 版本,您知道您是否需要付费许可版本才能使用它?
  • PATH 中有节点吗?您使用的是版本 3 吗?我尝试了免费版本,它运行良好(语法突出显示、智能感知等)目前我正在使用 VS Code。
  • 我让它工作了,我认为是我错过了正确设置的 node_path 变量。
【解决方案3】:

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

Use TypeScript compiler from node

Does TypeScript provide an explicit Public API for NodeJS Module Access?

【讨论】:

    【解决方案4】:

    用于 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
      

    【讨论】:

      【解决方案5】:

      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/

      欢迎反馈,谢谢!

      【讨论】:

        【解决方案6】:

        如果您需要有关最佳实践算法的全面参考,我建议您查看Let's build a compiler 或wounderful 书籍Language Implementation Patterns

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-02-13
          • 1970-01-01
          • 2020-02-29
          • 1970-01-01
          • 2021-04-17
          • 1970-01-01
          相关资源
          最近更新 更多