【问题标题】:Visual Studio 2015 RC does not create sourcemap when saving Typescript file保存 Typescript 文件时,Visual Studio 2015 RC 不创建源映射
【发布时间】:2015-05-20 14:29:09
【问题描述】:

我是 typescript 的新手,正在最新的 Visual Studio 2015 RC 中尝试。

目前,当我保存 ts 文件时,它会自动编译 typescript 文件并创建底层 js 文件(展开时很好地位于 .ts 文件下方)。但是,没有 sourcemap 文件,所以我在调试时从未在 Visual Studio 中的 typescript 中遇到任何断点(无论使用 IE 还是 Chrome canary)。

有没有办法启用它,以便在保存时生成源映射文件? 通过四处搜索,似乎很多曾经在 Web Essentials 中的编译器选项已经移动或不可用(还没有?):

【问题讨论】:

    标签: typescript visual-studio-2015


    【解决方案1】:

    我发现通过卸载项目并编辑“xproj”文件,如果我在项目节点下(包含“VSToolsPath”的属性组之前)添加以下xml:

    <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 设置)。

    【讨论】:

    • 你做对了。在 TypeScript Build 选项卡上的项目属性下有一个 UI。如果您使用的是无项目项目类型(如 Web 项目),则默认设置位于 Visual Studio 设置中的 TypeScript 语言选项中。
    • 我在项目属性(目前 .NET5 Web 项目中的选项非常稀疏)或 Visual Studio 选项中看不到任何内容。我不知道这是否只是因为它的候选版本或我的安装有问题。
    • 在 Visual Studio 2015 RC 中开发 ASP.NET 5 应用程序时,我看不到任何这些选项。感谢 xproj 的解决方法 - 拯救了我的一天! :)
    • 请指定文件所在的位置
    【解决方案2】:

    如果您要向项目添加新文件,我已经找到了一种替代方法,有一个打字稿配置文件选项。因此,如果您添加一个“tsconfig.json”,您将获得相同的设置:

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

    我想这会更好,因为它可能允许对不同文件夹中的不同打字稿应用程序进行多种配置。对于我的项目,我只是将它放在根目录中以全局应用。

    【讨论】:

      【解决方案3】:

      我在https://github.com/Microsoft/TypeScript/issues/5001 中找到了另一个 .NET 4x 项目的解决方案:

      在项目属性中的 TypeScript Build 选项卡上切换一些随机设置(启用“生成源映射”)将新的 TypeScript 配置行添加到项目文件中,(最终)导致在保存和(项目) 构建。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-02
        • 2012-01-27
        • 2015-08-16
        • 2015-10-23
        相关资源
        最近更新 更多