A version mismatch between the globally installed tsc compiler (2.0.3) and VS Code's language service (1.8.10) has been detected. This might result in inconsistent compile errors.
という警告が出ました。まだHello Worldをやってるだけなので気にしなくてもいいけど、調べたことをメモ。
これは、VS Codeにはリリース時点で最新のTypescriptがバンドルされるかららしいです。Typescript 2.0はついこないだ出たばっかりなので、先月頭にリリースされたVS Code(バージョン1.5.X)ではまだ1.8が入っています。
最新のを使うには、settings.json
にtypescript.tsdk
という項目を設定します。ここに設定するパスは、
$ npm list typescript C:\Users\user1\AppData\Roaming\npm └── typescript@2.0.3
で出てきたパスからさらに下のnode_modules\typescript\lib
を指定します。つまり、この例の場合、C:\Users\user1\AppData\Roaming\npm\node_modules\typescript\lib
を指定します。注意する点は、Windowsの場合パス区切りは\
ですが、settings.json
に指定するときはエスケープ扱いされるので\\
と2つ繰り返さないといけない点です(/
でもいける気もするけど試してません)。
// Place your settings in this file to overwrite default and user settings. { "typescript.tsdk": "C:\\Users\\user1\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib" }
設定が反映されているかは、VS Codeを再起動して、Typescriptのファイルを開いているときに右下を見ればわかります。バージョンが表示されているはずです。
設定前: 設定後:
...まあでもよく考えれば、たぶん1か月待てば(というかもうすぐ)最新バージョンに追随したVS Codeが出るわけで、待てばいいんじゃないかなーという気もします。
あと、issueを見てると、もうちょっとわかりやすく改善される空気も感じるので、変に設定は入れずそのままにしとくのがいいのかもしれません。よくわからない。