Перемещение базы IntelliSense для С/С++ в Visual Studio 2010

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by slesh, 20 Jan 2012.

  1. slesh

    slesh Elder - Старейшина

    Joined:
    5 Mar 2007
    Messages:
    2,702
    Likes Received:
    1,224
    Reputations:
    455
    Некоторые наверное и так знаю про этом, а вот для многих новичков будет полезно узнать.

    Все кто работает в Visual Studio 2010 знают о надоедливых *.sdf файлах и папке ipch, которые появляются в проектах и весят суммарно по 100 мегабайт.

    Сами эти файлы в принципе не нужны, т.к. это базы IntelliSense. т.е. по факту они никак не связаны с самой программой и используются только для удобства работы в IDE (автодополнение кода, поиск кода).

    В принципе нет ничего плохого в них, когда дело не доходит до ситуации когда
    1) Постоянно надо доделывать проект и отсылать исходники, тогда приходится ручками чистить всё или выбирать только нужные файлы
    2) Когда есть ограничение в размере свободного места. Очень актуально при использовании крипто-контейнеров типа TrueCrypt или открытии проекта с флешки.

    Отключить создание этих файлов довольно сложно, но VS 2010 (в 2008 не проверял) позволяет их переместить в другое место, где их размер будет не очень важен.

    И так делается это так:
    Для русской версии:
    1) Меню Сервис -> Параметры -> Текстовый редактор -> C/C++ -> Дополнительно.
    2) Установить Всегда использовать запасное место = True
    3) Установить Не предупреждать, если используется запасное место = True
    4) Установить Запасное место = %TEMP%
    5) Сохранить настройки
    6) Закрыть Visual Studio
    7) Удалить во всех С/С++ проектах папку ipch и файл *.sdf

    После этих манипуляций, файлы базы IntelliSense будут создаваться в темпе. По адресу
    %TEMP%\VC++\имя_проекта-random\

    Скрин:
    [​IMG]


    Для английской версии:
    1) Tools -> Options -> Text Editor -> C/C++ -> Advanced
    2) Установить Always use Fallback Location = True
    3) Установить Do Not Warn if Fallback Location = True
    4) Установить Fallback Location = %TEMP%

    Скрин:
    [​IMG]

    Теперь можно не беспокоиться что проект будет захламлён такими большими файлами. А при необходимости все базы удаляются при очистке темпа.
     
    #1 slesh, 20 Jan 2012
    Last edited: 20 Jan 2012