2015-05-20 57 views
12

我對打字稿非常陌生,並且正在最新的Visual Studio 2015 RC中嘗試它。Visual Studio 2015 RC在保存Typescript文件時不創建源圖

當我保存ts文件時,它自動編譯打字稿文件並創建底層js文件(當您展開它時很好地在.ts文件下面)。但是,沒有源代碼文件,因此在調試時我無法在visual studio中打印任何斷點(無論使用IE還是Chrome Canary)。

有沒有辦法啓用它,因此它會在保存時生成源映射文件? 從周圍尋找,似乎有很多曾經是在已經被移動或不可用的網絡要領編譯器選項(沒有?):

Screenshot of old options-dialog

回答

6

我發現一個替代方案,如果你去添加一個新的文件到你的項目,有一個打字稿配置文件選項。所以,如果你添加一個「tsconfig.json」你得到同樣的設置:

{ 
    "compilerOptions": { 
    "module": "amd", 
    "noEmitOnError": true, 
    "noImplicitAny": false, 
    "removeComments": false, 
    "sourceMap": true, 
    "target": "es5" 
    } 
} 

我想這是更好,因爲它可能會允許在不同的文件夾不同的打字稿應用多種配置。對於我的項目,我只是將它放在根目錄中以便全局應用。

16

我發現,通過卸載該項目並編輯在「xproj」文件,如果我添加的項目節點下的以下XML(包含「VSToolsPath」屬性組前):

<PropertyGroup> 
    <TypeScriptTarget>ES5</TypeScriptTarget> 
    <TypeScriptCompileOnSaveEnabled>true</TypeScriptCompileOnSaveEnabled> 
    <TypeScriptNoImplicitAny>false</TypeScriptNoImplicitAny> 
    <TypeScriptModuleKind>AMD</TypeScriptModuleKind> 
    <TypeScriptRemoveComments>false</TypeScriptRemoveComments> 
    <TypeScriptOutFile></TypeScriptOutFile> 
    <TypeScriptOutDir></TypeScriptOutDir> 
    <TypeScriptGeneratesDeclarations>false</TypeScriptGeneratesDeclarations> 
    <TypeScriptSourceMap>true</TypeScriptSourceMap> 
    <TypeScriptMapRoot></TypeScriptMapRoot> 
    <TypeScriptSourceRoot></TypeScriptSourceRoot> 
    <TypeScriptNoEmitOnError>true</TypeScriptNoEmitOnError> 
</PropertyGroup> 

這個固定的問題,並保存生成的文件.MAP(下整齊js文件)。這使我能夠在Visual Studio中打擊我的打字稿斷點(不幸的是,只有在IE中)。

另一個有益的副作用是我現在可以導出模塊(因爲'TypeScriptModuleKind'=> AMD設置)。

+2

你已經做了正確的事情。在TypeScript Build選項卡的項目屬性下有一個UI。如果您使用的是無項目項目類型(如Web項目),則默認設置位於Visual Studio設置中的TypeScript語言選項中。 – NYCdotNet

+1

我看不到項目屬性上的任何內容(當前.NET5 Web項目中非常稀疏的選項)或Visual Studio選項。我不知道這是因爲它的候選版本還是我的安裝版本。 – MIP1983

+1

我看不到任何這些選項,在Visual Studio 2015 RC中開發ASP.NET 5應用程序。感謝xproj的解決方法 - 拯救了我的一天! :) –

0

我發現.NET 4X項目中https://github.com/Microsoft/TypeScript/issues/5001另一種解決方案:在項目屬性

撥動打字稿生成選項卡上的一些隨機設置(與「生成源映射」啓用)增加了新的打字稿配置線項目文件,(最終)導致在保存和(項目)構建時生成源地圖。

相關問題