【问题标题】:Rename a Typescript file重命名 Typescript 文件
【发布时间】:2012-11-07 02:02:50
【问题描述】:

可能是我在这个上遗漏了一些东西(或者可能是我太累了:P)。在 Typescript 项目中的 Visual Studio 2012 中,当我重命名 ts 文件时,不是重命名与该 ts 文件链接的 js 文件,而是创建一个新文件。

例如:
旧情况:(file1.ts --> file1.js) 重命名后: (file1337.ts --> file.js) + file1337.js //file1337 不包含在项目中,我需要手动执行...

那么有没有办法同时重命名 ts 文件和直接链接到这个文件的 js,而不需要创建一个新的并且必须在项目中手动添加新的 js 文件?

谢谢

【问题讨论】:

  • 这在 VS 2013(使用 WebEssentials)中仍然是一个问题。我重命名了一个文件,旧文件(.js 和 .js.map)没有被删除。我自动包含所有 .js 文件,所以起初这引起了相当大的混乱。所以在我看来,它还没有解决... =(

标签: javascript visual-studio-2012 typescript


【解决方案1】:

我发现如果你删除关联的 .js 文件和任何源映射(即删除嵌套在解决方案资源管理器中的 .ts 内的文件),然后重命名 .ts 文件,然后重新编译 .js文件以新名称重新生成,并自动添加到项目中(只要 .ts 文件已经存在)。

我应该补充一点,我已经安装了 WebEssentials - 我不知道这种行为有多少是由于这个原因,有多少是 VS 原生的。

【讨论】:

  • 我不得不删除文件并重新启动 VS(2013,更新 5)。
【解决方案2】:

Visual Studio 扩展中存在细微差别,这意味着重命名处理不完美。

最简单的选择是创建一个具有正确名称的新文件,移动内容并删除旧文件。

稍微难一点的选择是在重命名后手动编辑项目文件以更新关联。

使用 Web Essentials,您会遇到类似的问题,即重命名的文件与名称不正确的 JavaScript 和 Map 文件相关联,您必须对其进行调整才能使其正常工作。感觉最干净的选择仍然是添加一个新文件并传输内容而不是重命名。

【讨论】:

  • @JcFx 感谢您的提醒。我不知道为什么我仍然处于测试阶段。
  • 很高兴能提供帮助。我认为它仍处于测试阶段,或者至少是预发布版本,但已经过调整以与 VS RTM 一起使用。
【解决方案3】:

这是一个老问题,但在 Visual Studio 2015 中也存在这个问题。在项目 BuildEvents Pre-build 事件命令行中,您可以插入以下代码:

del /S /Q "$(ProjectDir)\path\to\ts\code\*.js" && del /S /Q "$(ProjectDir)\path\to\ts\code\*.js.map"

此命令将在项目构建之前删除所有生成的 .js 和 .js.map 文件。

【讨论】:

    猜你喜欢
    • 2014-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-11
    • 2015-10-08
    • 2016-05-29
    • 2014-01-20
    • 2014-06-07
    相关资源
    最近更新 更多