10

そのため、Microsoft は ST2 の構文の強調表示を提供していますが、それ以外はあまり提供していません。

多くの IDE 機能を複製できるプラグインを構築するのはどれほど難しいでしょうか。彼らがJSで(遊び場で)それを複製できるかどうかは、ST2プラグインとして-それほど-難しいことではないはずです。どこから始めたらいいのかわからない... ST2 プラグインの作成方法は知っているが、コンパイラやパーサーなどについては何も知らない...

4

6 に答える 6

12

[編集]これは開始済みの TS プラグインのリストです。最新の状態に保つように努めます。

[/編集]

SublimeLinterの基本的な TypeScript サポートを既に追加しています。このプル リクエストを参照してください。これにより、少なくとも Sublime で TypeScript エラーが表示されます。動作しますが、すべての参照ファイルがすべてのリントで解析されるため、大きなプロジェクトでは遅くなります。これは将来的に修正する必要があります。

TypeScript とそのサービスは TypeScript 自体で記述されているため、JS に変換されるため、nodejs から使用でき、結果として Sublime から使用できます (Christopher Pappas が提案したように)。これはまさに、SublimeLinter での TypeScript サポートがどのように機能するかです。

フル機能の Sublime プラグインを作成したい場合は、オートコンプリートなどに必要なすべての機能を提供するTypeScriptサービスを確認することをお勧めします。languageService.tsは、あなたが探しているものでなければなりません。また、 Web 上の JS を介してオートコンプリートを提供するため、TypeScript Playgroundのソースコードを確認する必要があります。残念ながら、プレイグラウンド用の公式ソースコードがないため、自分でソースの縮小を解除する必要があります。

いずれにせよ、Sublime TypeScript プラグインの作成に本当に興味がある場合は、喜んでお手伝いさせていただきます!

[編集]

補完の追加については、Sublime のドキュメントも参照してください。

于 2012-10-15T18:28:47.670 に答える
2

Nodeに特有のこれらの他の可能な解決策を見て、そこから行きます:

ノードから TypeScript コンパイラを使用する

TypeScript は NodeJS モジュール アクセス用の明示的なパブリック API を提供しますか?

于 2012-10-11T22:46:41.647 に答える
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 に答える