Visual Studio 2015 RC時代からの既知の問題ぽいのがまだ直ってなさそうなんですが、Visual Studio 2015でTypeScriptなファイルを扱う場合にプロジェクトの設定から「保存時にコンパイル」や「ソースマップを生成する」のチェックを変えて設定しても反映されないようです。
(おもに無効にしたい場合)
例えば、Node.jsなプロジェクトのTypeScriptビルド設定を以下のように無効にしても保存時に自動的にコンパイルして.jsと.js.mapファイルが生成されてしまいます。
この際のプロジェクトファイルを見てみると以下のようになっています。
何が問題かというと、Condition付きのPropertyGroupに設定があってもVisual Studio 2015側で見てないぽいんですよね。
で、回避するにはCondition属性がついてないPropertyGroup(プロジェクトファイルの上部)のほうに設定を書いてあげます。
そうすることで設定がちゃんと反映されて.tsファイルを保存しても自動コンパイル等が走りません。
このあたりを参考に。
設定としては TypeScriptCompileOnSaveEnabled あたりです。
困ってる人(?)は一度試してみてください。
※なおMSBuildにはTypeScriptCompileOnSaveEnabled に対応する引数ありませんがまぁそうでしょうね
確かに、ソリューションをビルドした時とtsファイルを保存した時にコンパイルしてますね・・。
そのコンパイルに違いがあって、tsファイルを保存した時だけコンパイルするようにしたいんですがどうしたらいんでしょうか・・?
Visual Studio上で、 対象の.tsファイルのプロパティのBuild ActionをTypeScriptCompileからNoneにすればビルドしてもコンパイルされませんがそういうことでしょうか?
そうです!そうです!
解決しました。ありがとうございますm(_ _)m