Visual Studio 2010でsdfとipchの保存場所を変更する

Visual Studio 2010から、インクルードファイルを先読みすることによってインテリセンスを強化する仕組みが導入されました。

これまで補完が効かなかった部分でも補完が有効になり、大変便利なのですがそのために作られるデータベースが非常にでかいという問題があります。

特に、この問題はDropboxなどの容量に制限があるオンラインストレージを使っていたりすると大変です。
1プロジェクトあたり100MB程度(インクルードパスが通っているヘッダの数、インクルードするヘッダの数によると思いますが)がデータベースとして消費されることによって、簡単に容量が食いつぶされてしまいます。

そこで、この便利だけど困ったちゃんであるデータベース(sdf、ipch)をプロジェクトとは別のフォルダに追い出します。

今回の問題の対処には、次のサイト(Q&A)が参考になりました。

Why does Visual Studio 2010 create ipch folder and .sdf file? | wronso.com

まず、Visual Studioを開きます。

次に、メニューから「ツール」→「オプション」でオプション画面を開きます。

そして、「テキスト エディター」→「C/C++」→「詳細」と進むと、フォールバック位置という項目があります。

この「常にフォールバック位置を使用」をTrueに変更し、「フォールバック位置」に適当なフォルダ(D:\Visual_Studio_Fallback とか)を指定してやれば完了です。

これでえらい重いsdfやipchはここで指定したフォルダに保存されることになり、オンラインストレージの圧迫を防ぐことができます。

もちろんですが、この設定にしているとこれらのデータベースは同期されませんので注意してください。