[英]In VS Code, how to use the Typescript 1.5 alpha compiler
查看VS代碼設置,似乎沒有一個選項,在每個項目的基礎上,設置Typescript編譯器。 我可以設置VS Code使用我通過NPM安裝的1.5 alpha編譯器嗎? 在tsconfig文件中引用此編譯器是否有效?
編輯:只想添加我想編譯到ES6,如果這有所作為。
我現在已經驗證了這一點 - 您可以編輯您的tasks.json文件以指向您喜歡的任何版本。 以下示例指向1.5 beta,但您可以指向1.4 ...或者如果您想要果味,我認為甚至是0.8。
{
"version": "0.1.0",
// The command is tsc.
"command": "C:\\Program Files (x86)\\Microsoft SDKs\\TypeScript\\1.5\\tsc",
// Show the output window only if unrecognized errors occur.
"showOutput": "silent",
// Under windows use tsc.exe. This ensures we don't need a shell.
"windows": {
"command": "C:\\Program Files (x86)\\Microsoft SDKs\\TypeScript\\1.5\\tsc.exe"
},
// args is the HelloWorld program to compile.
"args": ["app.ts"],
// use the standard tsc problem matcher to find compile problems
// in the output.
"problemMatcher": "$tsc"
}
好吧,我確實找到了答案,感謝Steve和Basarat,所以這是我采取的步驟。 它是編輯tasks.json和tsconfig.json文件的組合。 現在我使用的是TS 1.5 alpha,它編譯成ES6代碼。
打開tasks.json文件。 您可以使用CTRL
+ SHIFT
+ P
並鍵入“configure task runner”來執行此操作。 如果“./settings /”文件夾中尚不存在tasks.json文件,則會為您創建一個task.json文件。 史蒂夫對另一個問題的回答指出了這一點。
保留第一個未注釋的任務。 我們將以這種方式修改該任務:
2A。 對於“command”,該值設置為npm安裝的TS 1.5 alpha(這是TS的本地安裝 - 不是具有-g
選項的全局安裝):
"C:\\path\\to\\node_modules\\.bin\\tsc.cmd"
我在Windows上,所以一定要使用“tsc.cmd”,而不僅僅是“tsc”。
2B。 注釋掉整個“windows”屬性。
2C。 評論出“args”屬性。 如果在此處輸入文件名或${file}
,編譯器將完全忽略您的tsconfig.json
文件。
這就是這個文件。
3A。 在我的情況下,我完全刪除(不僅僅是注釋掉)“files”屬性,因為我希望項目中的所有TS文件都能編譯。
3B。 在編譯器選項中,將“target”更改為“ES6”並完全刪除了“module”選項(注釋掉它給了我一個錯誤)。 ES6不需要“模塊”。
該文件的主要部分現在如下所示:
"version": "1.5.0-alpha",
"compilerOptions": {
"target": "ES6",
"declaration": false,
"noImplicitAny": false,
"removeComments": false,
"noLib": false
},
"filesGlob": [
"./**/*.ts",
"!./node_modules/**/*.ts"
],
// optional format code options omitted...
現在,當我對TS文件進行更改時,按ctrl
+ shift
+ b
運行編譯器,輸出為ES6 javascript。
非常感謝Steve和Basarat。 我向史蒂夫提供了答案,因為他在路上向我推了一下。
我設置VS代碼以使用我通過NPM安裝的1.5 alpha編譯器
您可以使用它來構建,但不能將其用作語言服務。
注意:VS Code附帶的TypeScript 1.5 beta比1.5 alpha更新,所以你可能不希望它反正使用alpha :)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.