无法让tsserver-plugins在Atom或VSC中运行

时间:2017-03-02 15:52:11

标签: visual-studio angular typescript visual-studio-code atom-editor

我和我的同事目标是在Angular 2模板中完成代码,如in this gif所述。

因此我们需要

tsserver-plugins

tslint-language-service@angular/language-service

所以我们尝试了:

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"}
]

由于我无法弄清楚如何告诉Atom的TypeScript插件使用tsserver-plugins而不是tsserver,我通过重命名来攻击它

/usr/local/bin/tsserver

/usr/local/bin/_tsserver

/usr/local/bin/tsserver-plugins

/usr/local/bin/tsserver

现在我认为它应该有效,但事实并非如此。

然后我重新启动了Atom - 没有任何改变。 然后我重新启动了我的电脑 - 没有任何改变。

然后我在本地和全局安装了typescript @ next(2.3.0.dev ...)并重复了所有内容。

我的同事试图让它与Visual Studio Code一起使用但没有成功。我们做错了什么?

1 个答案:

答案 0 :(得分:0)

首先tsserver-plugins需要tsserver,它应该适用于任何TypeScript版本。它不是tsserver的分支。

tsserver-plugins包裹ts.createLanguageService加载plugins中声明的tsconfig.json

要做bin/tsserver-plugins

  • typescript/lib/tsserver.js加载到字符串
  • before-tsserver.jstypescript/lib/tsserver.js
  • 联系起来
  • 将concat的结果作为节点模块运行。

要检索typescript/lib/tsserver.js,您有两种策略:

  • tsserver-plugins安装在与node_modules相同的typescript中,typescript/lib/tsserver.jsrequire(typescript/lib/tsserver.js)
  • 相同
  • tsserver-plugins未安装在与node_modules相同的typescript中,因此在调用tsserver-plugins时,需要使用--typescriptDir参数设置TypeScript的路径。 / LI>

例如,如果你有:

  • C:/ DIR1 / node_modules / tsserver-插件
  • C:/ DIR2 / node_modules /打字稿

你需要执行:

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文件夹中。