7

これに何かが足りないのかもしれません(または疲れすぎているのかもしれません:P)。TypescriptプロジェクトのVisualStudio2012で、tsファイルの名前を変更すると、そのtsファイルにリンクされているjsファイルの名前を変更する代わりに、新しいファイルが作成されます。

例:
古い状況:(file1.ts-> file1.js)名前を変更した後:(file1337.ts-> file.js)+ file1337.js //file1337はプロジェクトに含まれていないため、手動で行う必要があります..。。

では、新しいファイルを作成したり、プロジェクトに新しいjsファイルを手動で追加したりせずに、tsファイルとこのファイルに直接リンクされているjsの両方の名前を同時に変更する方法はありますか?

ありがとう

4

3 に答える 3

5

関連する .js ファイルとソース マップを削除 (つまり、ソリューション エクスプローラーで .ts 内にネストされたファイルを削除) し、.ts ファイルの名前を変更してから再コンパイルすると、.js ファイルが再生成されることがわかりました。新しい名前で、プロジェクトに自動的に追加されます (.ts ファイルが既に存在する場合)。

WebEssentialsがインストールされていることを付け加えておく必要があります。これが原因でこの動作がどの程度なのか、VS にネイティブなのかはわかりません。

于 2012-11-07T09:28:36.593 に答える
1

Visual Studio拡張機能にはわずかなギャップがあります。これは、名前の変更が完全に処理されないことを意味します。

最も簡単なオプションは、正しい名前で新しいファイルを作成し、内容を移動して古いファイルを削除することです。

少し難しいオプションは、名前の変更後にプロジェクトファイルを手動で編集して、関連付けを更新することです。

Web Essentialsでは、名前が変更されたファイルが誤った名前のJavaScriptおよびマップファイルに関連付けられているという同様の問題があり、それを機能させるにはそれをいじる必要があります。それでも、名前を変更するのではなく、新しいファイルを追加して内容を転送するのが最もクリーンなオプションのように感じます。

于 2012-11-07T08:57:43.463 に答える
1

これは古い質問ですが、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 ファイルを削除します。

于 2015-09-01T11:30:24.383 に答える