Type Script在Visual Studio 2013中的問題匯總(持續更新…)


TypeScript在vs2012下的問題

TypeScript對VS2012支持度比較低,建議升級為VS2013版本以上。

 

在VS2013中無法創建TypeScript項目

VS2013默認不支持TypeScript。

需要在【工具】-【擴展和更新】中安裝TypeScript,目前為止for VS2013的最新版TS為1.5版本,但是實測有一些問題,建議安裝比較穩定的1.4版本

image

 

編譯提示“TypeScript\1.4\1.4\tsc.exe 無效”的問題

解決方法:

1、進入目錄  C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v12.0\TypeScript 

2、將  Microsoft.TypeScript.targets  文件復制到其他路徑,打開編輯

3、將第三個TscToolPath這行屏蔽掉,保存,復制回原路徑,覆蓋即可(或需管理員權限)。

<PropertyGroup>
     <TypeScriptToolsVersion Condition="'$(TypeScriptToolsVersion)'==''">1.4</TypeScriptToolsVersion>
     <TscToolPath Condition="'$(TscToolPath)' == ''">$(MSBuildProgramFiles32)\Microsoft SDKs\TypeScript</TscToolPath>
     <TscToolPath Condition="'$(TypeScriptToolsVersion)' != ''">$(TscToolPath)\</TscToolPath>
     <!-- <TscToolPath Condition="'$(TypeScriptToolsVersion)' != ''">$(TscToolPath)\$(TypeScriptToolsVersion)</TscToolPath>-->
     <TscToolExe Condition="'$(TscToolExe)' == ''">tsc.exe</TscToolExe>
     <TscYieldDuringToolExecution Condition="'$(TscYieldDuringToolExecution)' == ''">true</TscYieldDuringToolExecution>
   </PropertyGroup>

詳見:Bad path when installing TypeScript 1.4 for Visual Studio 2013 #3493

 

如何調整TypeScript的編譯目標版本

解決方法:

VS-【項目】-【屬性】-【TypeScript生成】-【General】-【ECMAScript version】-選擇相應的ECMA版本即可(目前僅支持-3,-5,-6)

image

 

將編譯目標改為ECMAScript 6出現“...lib.es6.d.ts 未找到”的錯誤

解決方法:

1、去這里下載最新版定義文件,地址:https://github.com/Microsoft/TypeScript/blob/release-1.4/bin/lib.es6.d.ts

2、下載后粘貼到  C:\program files(x86)\Microsoft SDKs\TypeScript\1.4  文件夾內即可(或需要管理員權限)

詳見:how to use lib.es6.d.ts?I try to use some method of es6?but it just go error! #1582

 

無法使用TypeScript 1.4的新特性(如聯合類型,type關鍵字等)

image

解決方法:

1、卸載所有其他版本的TypeScript。重新安裝要使用的版本(我這里使用的1.4穩定版)

2、進入cmd命令行,執行  tsc -v  查看結果是否為當前安裝的版本號

image

3、如果不是當前安裝的版本,則重啟計算機再次查看版本

4、如果依然不是當前版本則在cmd執行  set %PATH%  查看當前系統的環境變量,是否有包含其他TypeScript版本的路徑,如果有則修改環境變量

5、修改環境變量方法:【計算機】-【右鍵屬性】-【高級系統設置】-【高級】-【環境變量...】-【系統變量】-【PATH】-【編輯】修改保存即可,或可能重啟生效

6、若已經為當前安裝版本且VS安裝了ReSharper插件的情況下。

7、VS-【ReSharper】-【Option】-【Code Inspection】-【Settings】-【File masks to skip】-【Add】-輸入  *.ts  -保存

image

8、TypeScript1.4的新特性均可正常使用。

image

9、造成上述原因為ReSharper9目前最高僅支持TypeScript1.3語法,遂只能暫時屏蔽掉ReSharper提供的只能感知功能。

image

10、若仍然無法使用,或是並沒有安裝ReSharper插件的話,請留言

詳見:Typescript 1.4: Wrong syntax highlighting in Visual Studio

 

安裝了最新版TS依然無法使用新版特性的問題


這個問題的表現與上面這個問題完全一致,但是導致問題的原因是 目前已知的微軟TS安裝包的BUG,即卸載后沒有卸載干凈,導致后續所有新版都安裝不了。

可以通過以下途徑來檢測是否有此問題:

1、是否曾經安裝過其他版本的TypeScript for VS?

如果到目前為止你只安裝過一次ts,那么無此問題

2、是否卸載了低版本的TS?

如果沒有,那么請卸載所有低版本TS,只保留你安裝的最高版本TS。

3、進入【控制面板】-【程序和功能】查看確保目前只保留了(安裝了)一個TS

image

4、進入cmd命令行,執行 tsc -v查看結果是否為當前安裝的版本號

image

5、如果顯示的版本號和你控制面板里顯示的版本號不符,

如我這里安裝的1.4顯示的版本號卻是1.0.3,則說明我之前安裝TS1.0沒卸載干凈

6、進入【計算機】-【右鍵屬性】-【高級系統設置】-【高級】-【環境變量...】-【系統變量】-【PATH】-【編輯】

復制所有,粘貼到記事本中:

image

可以看到有兩個TS環境變量路徑,前一個就是微軟沒有卸載干凈的環境變量,如果你問為什么只向舊版本的TS編譯器也能運行呢?那我只能遺憾的告訴你,其實舊版本的TS所有文件都沒有被卸載。

舊版本的文件,編譯器都還在C盤里躺着呢,所以會發生能用但是無法使用新版特性的問題。

 

7、刪除掉舊版的環境變量,只保留你安裝的那個版本的路徑即可,全選粘貼回系統環境變量設置

image

8、重啟CMD,重新執行 tsc --v 命令,查看版本

image

當前編譯器已經是我所安裝的版本了。

再回到VS內,打開TS項目,那些新版特性的語法不再報錯,也可以正常編譯了。

VS2013+TS1.7 版本其他文件有錯誤時當前ts文件無法編譯

項目中包含的其他ts文件報錯,而導致當前沒有錯誤的ts文件也無法編譯。

解決方案:【VS】-【調試】-【項目屬性】-【TypeScript生成】-【Output】-去掉勾選最后一個選項

去除勾選【當有任何錯誤時不編譯生成】的選項即可。

 

 

歡迎反饋其他問題,持續更新中......

原文地址-http://www.cnblogs.com/xxcanghai/p/4978754.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM