2014-10-29 150 views
0

可以使用'release 1.3'typescript分支的語言服務作爲當前Visual Studio插件的直接替換嗎?我想嘗試1.3編譯器,並想讓Visual Studio使用新的語言服務,這可能嗎?我試圖將typescriptServies.js複製到TS語言服務插件中,但這會使VS失去TS的所有完成。Visual Studio 2013和Typescript 1.3語言服務

回答

3

API與以前不同,所以這不是不可能的。

但是,現在的開源編輯器CATS現在支持最新的不穩定版本中的TypeScript 1.3。你可以從這裏下載:

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

一些新的功能,你可以嘗試一下,然後是(最新的TS主分支的所有部分):

  1. 保護成員
  2. 聯盟類型
  3. 支持ES6(塊作用域等)

順便說一句我是CATS的開發人員之一。所以雖然沒有太多的努力從1.0.1遷移到1.3,但它仍然不是一個直接替代品。此外,當前的主分支仍然有幾個方法會引發尚未實現的異常,因此需要採取一些特殊的預防措施來避免它們。

+1

'API與以前不同,所以這不是不可能的.'應該是'不可能'嗎? – Fenton 2014-10-30 14:48:42

+0

今天,CATS做什麼視覺工作室2014不能---成功編輯打字稿1.3.0源。 – 2014-11-12 13:21:56

0

我不認爲這會起作用。我相信VS使用這裏找到的LanguageService接口: services.ts 1.3爲1.3版本。如果將它與LanguageService的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[]; 
}