ncb - IntelliSense.
Можно убивать, если места жалко. Остальное нужно по идее, особенно .sln. В .user - хранятся параметры отладки, типа с какого пути запускать при запуске из под Студии и с какими параметрами.
На компиляцию влиять не должно.
Вообще - пользуйтесь сборщиками, вроде boost.build и будет вам щастье!
Makar Borisowitch написал:
Я обычно оставляю файл проекта и сами исходнки. Дополнительню ботву VC сам пусть создаёт, если не умеет всё в одном файле хранить...
Для того, чтобы не мучаться с кучей файлов, создаваемых MSVC, обычно делаю так:
в корневой папке создаю минимум еще две - inc и srs, а обычно еще и _Release, _Debug и _Trash.
В inc складываю все .h .hpp .hxx .inl файлы
а в srs все .c .cpp .cxx файлы.
При необходимости создаю еще подуровни.
Если использую сторонние библиотеки - новая папочка - libs в которой соответственно все разложено по своим папкам (например zlib, libpng и т.п.).
В настройках правлю пути, чтобы студия "складывала" все откомпилированное в _Release или _Debug в зависимости от того, что собираем. Также указываю, чтобы в _Trash складывались все ненужные, обычно, элементы сборки: .obj .pdb (для релиза) и т.п.
Подчеркивание перед _Release, _Debug и _Trash ставлю для того, чтобы при сортировке "по имени" эти папки были в самом верху и их не надо было искать.
Таким образом из корневой папки проекта можно безболезненно удалять все, кроме .sln и .vcproj, содержимое _Trash можно в любой момент удалить, вручную или .bat-файлом.
Содержимое _Debug после отладки также можно стереть, а с _Release - работать.
Может и муторно, но позволяет избежать путаницы, если в проекте больше десятка файлов.
В Делфи поступаю подобным же образом. Только сборка _Debug и _Release производится .bat-никами, с соответствующими дефайнами, и все .dcu кладутся в _Trash. Ну и папки inc нету, так как в паскале описание в одном файле с реализацией =)