1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Visual Studio C++のプロジェクトフォルダの容量を抑える

Last updated at Posted at 2020-08-15

自己紹介

画像解析系の研究をしている大学院生です。QtでGUIを作ったり、Visual Studioを使って解析コードを書いて過ごしています。
「誰でもわかる」を目指しつつ、自分の備忘録としてちょっとしたことを記載しています。

記事を書いたモチベーション

新型コロナウィルスの影響で在宅ワークをする機会が増えているわけですが、それにつれて家で使っているPCと出先で使うPCの情報を同期したいことも増えてきました。

僕はBox Driveの無料版を使用させていただいてPC間でファイル共有を行っており、使い勝手がよく大変満足しています。また、どのPCでも作成したプロジェクトを**シームレスに編集できるように、Visual StudioのデフォルトディレクトリをBox Drive上に配置**しています。

Box Driveを使用し始めて1か月ほど経ったある日のこと、いつものようにVisual Studioでコードを書いていたところ、「Box Driveの容量を使い果たしました」というメッセージが出てアップロードが拒否されてしまいました。

Box Driveの無料版は10 GBまで使用できるらしいのですが、プロジェクトは20個ほどだったので、「そんな使ってなくない?ぴえん。」って感じでびっくりでした。

Visual Studioのプロジェクト以外にもミーティング資料などを同期していたので、そっちが多すぎたかとも思ったのですが、少し気になってプロジェクトをまとめているフォルダの容量を確認してみると、18個のプロジェクトで4 GB以上も使用していることがわかりました。

そもそも、Visual Studioで書いているコードはフォルダ整理や、あちこちに散らばった解析データを一つのファイルにまとめる程度の簡単なもので、ライブラリもあまり使っていないので、1プロジェクトあたり200 MBは多くない?と疑問に思い、詳しく見てみると、プロジェクトフォルダが大きくなっている原因は、隠しフォルダ(.vs)の中にある*"Browse.VC.db""(cppファイル名).ipch"*でした(それぞれ容量は50 MB, 100 MB程度)

そこで、これらのファイルをどうにかできないかと思い、調べてみると、これらのファイルはVisual Studioに搭載されているIntelliSense(自動補完システム)に関係するファイルのようでした(Stack Overflow: https://stackoverflow.com/questions/36407386/what-is-the-vc-db-file-in-visual-studio-projects より)。

また、これらのファイルを生成する場所を変更できるとのことなので、肥大化したプロジェクトファイルの容量を減らし、共有ドライブをより効率よく使えるのではないかと考えました。
少々導入が長くなってしまいましたが、本記事では**IntelliSenseに関するファイルの出力場所を変更する方法**を記載していきたいと思います。

手順

※私のVisual Studio環境は英語で設定しているので、日本語で設定している方とは少々異なる部分があることをご承知おきください(一応青色で日本語版の説明も加えてはいます)
また、Visual Studioのバージョンによっても多少異なる部分があるかもしれません(私は2019年版を使っています)。
###1. 適当なプロジェクトを開き、Visual StudioのTools → Options...を選択する
日本語版ではツール → オプション。
Imgur
###2. Text Editor → C/C++ → Advancedを選択する
日本語版ではテキスト エディター → C/C++ → 詳細設定。
###3. Browsing Database FallbackにあるAlways Use Fallback LocationをTrueにする
日本語版では「フォールバック位置」にある「常にフォールバック位置を使用」をTrueにしてください。
Always Use Fallback LocationをTrueにするとIntelliSenseに関するファイルの出力場所を変更できるようになります。手順4で出力場所を指定します。
Imgur
###4. Browsing Database FallbackにあるFallback Locationに好きなフォルダのパスを入力する
日本語版では「フォールバック位置」にある同じ名前の「フォールバック位置」に好きなフォルダのパスを入力してください。
僕はBox Driveではないローカルな場所を指定しました(パスは隠しています)。
Imgur
###5. OKを押す
これでBrowse.VC.dbなどの容量が大きいファイルの生成場所が変更されます。ただし、当然すでに作られたファイルは消えないので、この後にすべてのプロジェクトの.vsフォルダを手動で消去しました。
その結果、Box Driveの容量を5分の1以下(4.36 GB→774 MB)に抑えることができました。

ちなみに、.vsフォルダは削除した後に再度プロジェクトを開くとまた自動で作られます。が、中身のBrowse.VC.dbなどの重いファイルは設定したFallback Location(フォールバック位置)に移動しているはずです。

また、これらの設定を終えた後にプロジェクトを開くと以下のようなメッセージが出現しますが、OKを押して問題ないと思います。毎回出現するのが嫌なので、Do not prompt me againにチェックをつけてOKをしたら出なくなりました(メッセージ中のパスは見えないようにしています)。
Imgur

これで、Visual Studioのプロジェクトを共有する際に、IntelliSenseの機能を維持した状態で共有ドライブの容量を抑えることができました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?