语言服务可以发布1.3' typescript分支可以用作当前Visual Studio插件的替代品吗?我想尝试1.3编译器,并希望Visual Studio使用新的语言服务,这可能吗?我试图将typescriptServies.js复制到TS语言服务插件中,但这使得VS失去了TS的所有完成。
答案 0 :(得分:3)
API与以前不同,所以这不是不可能的。
然而,现在名为CATS的开源编辑器在最新的不稳定版本中支持TypeScript 1.3。你可以从这里下载:
https://github.com/jbaron/cats/releases
您可以尝试的一些新功能是(最新的TS主分支的所有部分):
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[];
}