I am using Visual Studio 2015 with Typescript 1.5.4 and Resharper 9
This is the buggy scenario:
This is annoying because it generates too much noise in Git and it prevents me from debugging typescript files directly in browser. (because of that missing .js.map file)
The desired behaviour is of course that the only changed .ts file should be compiled on save. How to do it?
It seems that R# has nothing to do with this, because it continues to happen with R# disabled.
My current project settings:
-------------UPDATE-------------
I've tried to update to Typescript version 1.6.
The PATH variable pointed to C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.4\
so I've updated that to point to 1.6
So when I now type tsc -v
it says message TS6029: Version 1.6.2
But because of historical reasons (the project I work on is about 2 years old) I have to use version 1.4
inside VisualStudio. So in the .csproj is <TypeScriptToolsVersion>1.4</TypeScriptToolsVersion>
After this change the compile on safe
stopped working completely.
Now I have to rebuild the whole solution :(
As we know, after writing any TypeScript file, we need to compile it every time and based on that, the . js file will be generated. So, every time, we should compile the TypeScript file by writing the command in the console.
Fortunately, it's easy to disable automatic TypeScript compilation. Just add a “TypeScriptCompileBlocked” element to your project's xproj file and give it a value of “True”. This will prevent Visual Studio from making those pesky extra files.
Open a terminal and run tsc -w , it'll compile any . ts file in src directory into . js and store them in ts-built directory.
It seems that Visual Studio does not support watch mode properly (i.e. incremental compilation):
Just to be clear,
--watch
does work on Windows if you're using node.js/io.js, but the tsc.exe program distributed with VS does not support it; you still have Compile on Save for similar functionality anyhow.
https://github.com/Microsoft/TypeScript/issues/2375#issuecomment-100812347
I'm not sure why this was closed. Supporting --watch for our tsc.exe host would both be possible and desirable. Right now the limiting factor is that our tsc.exe host is a bit of ugly C++, that uses some ancient COM interfaces for Chakra that we haven't spent much effort on. Our options are: [...]
https://github.com/Microsoft/TypeScript/issues/2375#issuecomment-100949019
As a workaround, could you run
tsc --watch
in the folder where tsconfig.json
is located?
Edit: https://github.com/Microsoft/TypeScript/issues/5638 - Visual Studio 2015 compiles ALL typescript files when SINGLE file is changed
Starting with VS 2015 RTM, Compile-on-Save, every time you save a file we need to generate all files in the project to ensure consistent output. We have got numerous issues related to inconsistent output when saving files in different orders. Building all files is the only way we can guarantee correct and consistent output given all the language constructs and how they interact across files (e.g. namespaces/internal modules can be augmented, and that affects the shape of emitted code, also const enms are in lined as constants, etc..).
Try "ECMAScript 5" instead of "ECMAScript 3" in "ECMAScript version
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With