0

私と同僚の目標は、in this gifのようなAngular 2テンプレートでコード補完を行うことです。tsserver-pluginsをAtomまたはVSCで動作させることができません

そこで私たちは、私たちが試し

tslint-language-service@angular/language-service

tsserver-plugins

が必要になります。

npm install tsserver-plugins -g 
npm install angelozerr/tslint-language-service --save-dev 
npm install @angular/language-service --save-dev 
を、私たちは私たちの tsconfig.jsonにこれを追加> compilerOptions:

"plugins": [ 
    { "name": "tslint-language-service"}, 
    { "name": "@angular/language-service"} 
] 

私は

/usr/local/bin/_tsserver

/usr/local/bin/tsserverの名前を変更することによってそれをハッキング、代わりにtsserverのtsserver-pluginsを使用するようにアトムの活字体のプラグインに伝える方法を見つけ出すことができなかったので、および

/usr/local/bin/tsserver-plugins~

/usr/local/bin/tsserver

は今、私はそれが動作するはずと思ったが、それはしませんでした。

その後、Atomを再起動しました。何も変更されませんでした。 その後、コンピュータを再起動しました。何も変更されませんでした。

次に、typescript @ next(2.3.0.dev ...)をローカルに、グローバルにインストールしてすべてを繰り返しました。

私の同僚は、Visual Studioコードを正常に動作させようとしました。私たちは何を間違っていますか?

答えて

0

最初にtsserver-pluginsにはtsserverが必要です。これはどのTypeScriptバージョンでも動作します。これはtsserverのフォークではありません。

tsserver-pluginsは、tsconfig.jsonで宣言されたpluginsをロードするようにts.createLanguageServiceをラップします。

  • 負荷文字列typescript/lib/tsserver.js
  • before-tsserver.js連結
  • typescript/lib/tsserver.jsは、ノードモジュールとして連結の結果を実行します。

    bin/tsserver-pluginsということができません。そう、

    • tsserver-pluginstypescriptと同じnode_modulesにインストールされており、それがtypescriptと同じnode_modulesにインストールされていないrequire(typescript/lib/tsserver.js)
    • tsserver-pluginstypescript/lib/tsserver.jsを得る:

    あなたは2つの戦略を持っているtypescript/lib/tsserver.jsを取得するにはtsserver-pluginsを呼び出すときに、TypeScriptのパスを--typescriptDirパラメーターで設定する必要があります。例えば

あなたがいることを持っている場合、:

  • C:/ DIR1/node_modules/tsserver-プラグイン
  • C:/ DIR2/node_modules/typescriptです

をあなたのことが必要実行:

node C:/dir1/node_modules/tsserver-plugins/bin/tsserver-plugins --typescriptDir C:/dir2/node_modules/typescript 

最後に、tslint-language-service@angular/language-serviceは、TypeScriptと同じnode_modulesフォルダにホストする必要があります。

関連する問題