Visual Studio 2013和Typescript 1.3语言服务

时间:2014-10-29 12:51:08

标签: visual-studio visual-studio-2013 typescript

语言服务可以发布1.3' typescript分支可以用作当前Visual Studio插件的替代品吗?我想尝试1.3编译器,并希望Visual Studio使用新的语言服务,这可能吗?我试图将typescriptServies.js复制到TS语言服务插件中,但这使得VS失去了TS的所有完成。

2 个答案:

答案 0 :(得分:3)

API与以前不同,所以这不是不可能的。

然而,现在名为CATS的开源编辑器在最新的不稳定版本中支持TypeScript 1.3。你可以从这里下载:

https://github.com/jbaron/cats/releases

您可以尝试的一些新功能是(最新的TS主分支的所有部分):

  1. 受保护的成员
  2. 联盟类型
  3. 支持ES6(块范围等)
  4. BTW我是CATS的开发者之一。因此,虽然没有太多的努力从1.0.1迁移到1.3,但它仍然肯定不是替代品。此外,当前的主分支仍然有一些方法可以抛出尚未实现的异常,因此需要采取一些特殊的预防措施来避免它们。

答案 1 :(得分:0)

我认为这不会起作用。我相信VS使用此处的LanguageService接口: 1.3版本services.ts 1.3。如果将它与语言服务的1.1版本进行比较,则接口本身大致相同(getTypeAtPosition消失并被getQuickInfoAtPosition替换,依此类推)但其他接口也发生了变化(请参阅下面的CompletionEntryDetails接口)。

我尝试自己更换它,例如重命名也不会工作("插入位置的未知类型"或者其他东西)。

//1.1 
export interface CompletionEntryDetails {
    name: string;
    kind: string;            // see ScriptElementKind
    kindModifiers: string;   // see ScriptElementKindModifier, comma separated
    type: string;
    fullSymbolName: string;
    docComment: string;
}
//1.3
export interface CompletionEntryDetails {
    name: string;
    kind: string;            // see ScriptElementKind
    kindModifiers: string;   // see ScriptElementKindModifier, comma separated
    displayParts: SymbolDisplayPart[];
    documentation: SymbolDisplayPart[];
}