Visual Studio Code & C++ on OSX(clang)開発環境でC++11対応する

OSX上のVSCodeでC++を書く際にC++11シンタックスでコードを書くと、VSCodeの構文チェックで怒られます。
f:id:giraffyk1:20161004090645p:plain

C+11の型推論autoくらいなら警告で済みますが、初期化子リストだとエラーとして表示されます。どうしてもこれを解決しなければならなかったので調べました。

結論としては、VScodeのユーザー設定に以下を加えます。

	"clang.cxxflags": ["-std=c++11"]

配列でcxxflagsを渡せるため、includeパスや他のwarningに関する設定も渡せるようです。警告全部出しの-Weverythingを試しに設定すると

	"clang.cxxflags": ["-std=c++11", "-Weverything"]

f:id:giraffyk1:20161004091841p:plain

ご覧の通りバッチリ出力してくれました。

設定は以下の通り、基本設定→ユーザー設定から、settings.jsonを開いて追記します。

f:id:giraffyk1:20161004092004p:plain
f:id:giraffyk1:20161004092217p:plain


以下のページを参照すると、さらにclangの実行バイナリの位置指定をしたり++じゃないほうのcflagsを設定したり出来るようです。
GitHub - mitaki28/vscode-clang: Completion and Diagnostic for C/C++/Objective-C using Clang


Diagnostic(構文チェック)はc++関連のプラグインがしているものと当初思っていましたが、VSCode本体側でコントロールしているようで、この設定にたどり着くまでにかなり時間がかかってしまいました。