RevHarris
@RevHarris
Шо то, шо это

Какой смысл в фильтрах Visual Studio?

Приветствую.

Недавно вновь пересел на Visual Studio с другой IDE и у меня возник вопрос: какой смысл в фильтрах вместо папок? В обычных IDE структура проекта представлена папками и файлами, в студии же фильтрами.

В итоге в подавляющем большинстве проектов (что я видел), все файлы лежат в одной директории, никак логически не разбиты и чтобы просто разобраться во всём этом мусоре - приходится включать Visual Studio.

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

Какой в этом смысл? Может я чего-то не понимаю и глаза замылились?

p.s. Я знаю, что там есть кнопка "Show all files", но прекрасно же понятно, что по умолчанию студия хочет чтобы все работали именно с фильтрами.
  • Вопрос задан
  • 1732 просмотра
Решения вопроса 2
@MarkusD Куратор тега C++
все время мелю чепуху :)
Фильтры в Visual C++ - это методика организации рабочего пространства. Это старая и проверенная методика, зарекомендовавшая себя в MSVC++ еще с очень старых времен.
Система фильтров позволяет организовать любую лапшу из файлов сторонней библиотеки, в которой все сделано по принципу: "Работает == Не трогай". Этим она чрезвычайно полезна.
Так же фильтры позволяют сделать более тонкую организацию в тех местах, где на уровне файловой структуры она бессмысленна.

Я бы не был так поспешен, ругая инструмент за то, что им пользуются явно неорганизованные или неграмотные "специалисты". В подавляющем большинстве проектов ты просто видел невежество. И ничего больше.
Да, фильтры никак не привязаны к реальным папкам, а это и не надо. Да, на диске все можно хранить в одной папке (и в этом реальный плюс фильтров). Да, фильтры позволяют организоваться только внутри пространства самой среды.
Но и ничего больше.
Многие люди не считают должным разделять заголовки и исходный код по разным папкам, пеняя на "слишком сложную" организацию Include Directories. Только это не проблема среды, это такой у людей стиль организации рабочего пространства.
Ответ написан
@Free_ze
Пишу комментарии в комментарии, а не в ответы
Очевидно, что кому-то удобнее физически располагать файлы иначе, чем их отображать в IDE. В C++ зачастую хэдеры кладут отдельно, в папочку include, а сорцы - в src. Согласитесь, стремно было бы воспроизводить логическую иерархию дважды. А с помощью фильтров (aka виртуальных папок) можно легко всё сгруппировать так, как душе угодно.

Про C#
В .NET-проектах все немного иначе, потому что там существуют модули с метаданными и объявления типов не нуждаются в отделении от определения.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@mletov
Не знаю, что вы подразумеваете под фильтрами.
Про C++ ничего не скажу, пишу на ASP.NET.
В Solution Explorer видны все файлы и папки, включенные в проект. Если нажать "Show all files", то можно увидеть файлы и папки, которые в проект не включены. Можно кликнуть правой клавишей по не включенному в проект файлу или папке и в контекстном меню и выбрать "включить в проект".

В итоге в подавляющем большинстве проектов (что я видел), все файлы лежат в одной директории, никак логически не разбиты и чтобы просто разобраться во всём этом мусоре - приходится включать Visual Studio.


Вообще-то структуру хранения файлов и папок продумывает программист, даже дефолтная организация хранения в проекте (Content под css, Scripts под js, bin под dll и т д ) вполне логична и разумна.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы