MSVC .vcxproj.filters
От: пффф  
Дата: 20.06.24 20:12
Оценка: :)
Прив!

Есть такой generic.vcxproj.filters:

<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <ItemGroup>
    <Filter Include="Source Files">
      <Extensions>cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx</Extensions>
    </Filter>
    <Filter Include="Header Files">
      <Extensions>h;hh;hpp;hxx;hm;inl;inc;ipp;xsd</Extensions>
    </Filter>
    <Filter Include="Resource Files">
      <Extensions>rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms</Extensions>
    </Filter>
  </ItemGroup>
</Project>


Вычитал, что GUIDы и прочая шляпа тут не нужна, и облегчил его.

Копирую его в my_project1.vcxproj.filters — в проекте cpp/h файлы автоматом раскладываются по соответствующим папочкам. Хорошо, подкладываю таким же образом к другим проектам. Нифига. cpp/h лежат в одной куче, как и лежали. Но папочки Source Files/Header Files/Resource Files — появились, но файлы туда не помещены.

Что за фигня?

Второй вопрос филосовский. Нафига вот это сделали в отдельном файле? Раньше в студии так и было — всё в файле проекта, и было норм, но потом, блин, улучшили. Уродский эклипсовский способ, там примерно такое же дерьмо. Нет ли какого-нибудь способа делать папки в основном проекте, не используя отдельно лежащие .filters?
Re: MSVC .vcxproj.filters
От: reversecode google
Дата: 20.06.24 21:08
Оценка: +1

чем только не люди не сношаются
что бы cmake не использовать
Re[2]: MSVC .vcxproj.filters
От: пффф  
Дата: 20.06.24 21:15
Оценка:
Здравствуйте, reversecode, Вы писали:

R>

R>чем только не люди не сношаются
R>что бы cmake не использовать

Я как-то имел немного дела с чисто виндовым проектом, который был сделан на CMake. Так он по полчаса генерил конфигурации, и подо что? Правильно, под вижуалку. И зачем это нужно?
Re[3]: MSVC .vcxproj.filters
От: reversecode google
Дата: 20.06.24 21:27
Оценка:
с удивлением наблюдаю
и переписываю под себя всякие Г проекты
где пять разновидность makefile под все возможные линупсы
и четыре разные папки vs2015 vs2017 vs2019 vs2022 под винду
и задалбывает смотреть и пулить с гита говно изменения, когда добавляют или меняют какие то файлы
хосподи, откуда такие бараны берутся, думаю про себя ...

один cmake файлы
и можно нагенерить под любую платформу
добавить, удалить факлик, всего одно изменение в этом cmake файлике

так что марти, продолжай дальше ручками свои vs проекты редактировать
мозоли не натри
Re[4]: MSVC .vcxproj.filters
От: пффф  
Дата: 20.06.24 21:35
Оценка: :)
Здравствуйте, reversecode, Вы писали:

Вы бы существу вопроса что-нибудь лучше сказали бы

Языком полоскать да учить других жить каждый горазд
изменение в этом cmake файлике


R>так что марти, продолжай дальше ручками свои vs проекты редактировать


Который раз меня уже марти называете, не понимаю
Re[5]: MSVC .vcxproj.filters
От: reversecode google
Дата: 20.06.24 21:42
Оценка: :)))
сайт cmake не открывается?
стягиваешь нужный себе билд
малюешь простенький cmake файл под свои файлы
и никада не сношаешь себе мозг редактированием файлов студии


никада не видел то бы марти и пффф присутствовали на форуме вместе
оба с питера
оба сношаются с виндой, иногда тараня ембеддед

так что марти не шифруйся
Re: MSVC .vcxproj.filters
От: _NN_ www.nemerleweb.com
Дата: 21.06.24 07:47
Оценка:
Здравствуйте, пффф, Вы писали:

П>Вычитал, что GUIDы и прочая шляпа тут не нужна, и облегчил его.

Это из официальной документации?
Зачем нужно его облегчать? Экономим байты в проектном файле или пючисто спортивный интерес?

Тут конечно подкинули переводить на CMake, но если у вас простой проект и нет нужды в удобных зависимостях через пакетные менеджеры и нет необходимости поддерживать разные компиляторы, то CMake вам не нужен.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[2]: MSVC .vcxproj.filters
От: пффф  
Дата: 21.06.24 09:51
Оценка:
Здравствуйте, _NN_, Вы писали:

П>>Вычитал, что GUIDы и прочая шляпа тут не нужна, и облегчил его.

_NN>Это из официальной документации?

https://learn.microsoft.com/en-us/cpp/build/reference/vcxproj-filters-files?view=msvc-170

The UniqueIdentifier node is optional.



_NN>Зачем нужно его облегчать? Экономим байты в проектном файле или пючисто спортивный интерес?


Чтобы не мешались и глаза не мозолили



_NN>Тут конечно подкинули переводить на CMake, но если у вас простой проект и нет нужды в удобных зависимостях через пакетные менеджеры и нет необходимости поддерживать разные компиляторы, то CMake вам не нужен.


Да, проект небольшой, нет нужды в зависимостях и нет необходимости поддерживать разные компиляторы.

И в студийных проектах мне нравится XML, его можно распарсить при нужде, а CMake — какаха ещё та, хотя в кроссплатформе без него уже сложно
Re[3]: MSVC .vcxproj.filters
От: reversecode google
Дата: 21.06.24 10:00
Оценка: +1 -1
ученые говорят что мамонты вымерли что то около 10 тыс лет назад
я же читая это треш с xml и само редактированием файлов студии
читаю что мамонты живы, мамонты будут жить

давайте вы месяц по юзаете cmake
а потом перейдете опять на свое редактирование вручную файлов проекта студии
и посмотрим на результат

90/10 что вы никогда не вернетесь к своим файлам студии

и да
cmake это не только про кроссплатформ
это генерацию из трех простых и интуитивно понятных строчек синтаксиса
в сложно заумно иб.нутую конфигурацию студии
которую насколько я помню в cmake поддерживает чуть ли не сам ms
Re[4]: MSVC .vcxproj.filters
От: пффф  
Дата: 21.06.24 10:41
Оценка:
Здравствуйте, reversecode, Вы писали:

R>давайте вы месяц по юзаете cmake

R>а потом перейдете опять на свое редактирование вручную файлов проекта студии
R>и посмотрим на результат

Я юзаю симейк несколько лет, иногда без него не обойтись, к сожалению. Чего стоят его if, в котором нельзя вызвать функцию, а надо затолкать результат функции в переменную, а потом только проверить. Да, но кто сказал, что затолкать результат вызова функции в переменную — это просто?


R>90/10 что вы никогда не вернетесь к своим файлам студии


С удовольствием выкидываю симейк, если это возможно


R>и да

R>cmake это не только про кроссплатформ
R>это генерацию из трех простых и интуитивно понятных строчек синтаксиса
R>в сложно заумно иб.нутую конфигурацию студии
R>которую насколько я помню в cmake поддерживает чуть ли не сам ms

Да, то что симейк для студии генерит — трэшак ещё тот.
Re[3]: MSVC .vcxproj.filters
От: _NN_ www.nemerleweb.com
Дата: 21.06.24 17:09
Оценка:
Здравствуйте, пффф, Вы писали:

П>Здравствуйте, _NN_, Вы писали:


П>>>Вычитал, что GUIDы и прочая шляпа тут не нужна, и облегчил его.

_NN>>Это из официальной документации?

П>https://learn.microsoft.com/en-us/cpp/build/reference/vcxproj-filters-files?view=msvc-170

П>

П>The UniqueIdentifier node is optional.


Опционально но студия видимо использует.


_NN>>Зачем нужно его облегчать? Экономим байты в проектном файле или пючисто спортивный интерес?


П>Чтобы не мешались и глаза не мозолили


Вы часто смотрите на эти файлы filters ?
Ну написано там что-то как-то ну и пусть.

Вон sln вообще не xml и там чёрт ногу сломит когда появляются конфликты.

Если хотите принципиальной чистоты в проектных файлах то генераторы как cmake , gn вам в помощь.
Правда придётся отказаться от удобного графического интерфейса работы с проектом.
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[4]: MSVC .vcxproj.filters
От: пффф  
Дата: 21.06.24 19:03
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Если хотите принципиальной чистоты в проектных файлах то генераторы как cmake , gn вам в помощь.



Блин. Ещё один.
Если по существу вопроса нечего сказать, может не стоит вообще отвечать?
Re[5]: MSVC .vcxproj.filters
От: _NN_ www.nemerleweb.com
Дата: 21.06.24 20:11
Оценка:
Здравствуйте, пффф, Вы писали:

П>Здравствуйте, _NN_, Вы писали:


_NN>>Если хотите принципиальной чистоты в проектных файлах то генераторы как cmake , gn вам в помощь.



П>Блин. Ещё один.

П>Если по существу вопроса нечего сказать, может не стоит вообще отвечать?

Я не вижу ничего проблемного в том что будет GUID. есть себе и есть.
Если это так принципиально то стоит задать вопрос в поддержке VS: https://developercommunity.visualstudio.com/
http://rsdn.nemerleweb.com
http://nemerleweb.com
Re[6]: MSVC .vcxproj.filters
От: пффф  
Дата: 21.06.24 21:52
Оценка:
Здравствуйте, _NN_, Вы писали:

_NN>Я не вижу ничего проблемного в том что будет GUID. есть себе и есть.


Вопрос-то был совсем не гуиде
Re[4]: MSVC .vcxproj.filters
От: Skorodum Россия  
Дата: 16.07.24 12:27
Оценка:
Здравствуйте, reversecode, Вы писали:

R>это генерацию из трех простых и интуитивно понятных строчек синтаксиса

cmake это рабочее решение для проекта любой сложности на С++ , но синтаксис в нем это ужас-ужас.
Re: MSVC .vcxproj.filters
От: qaz77  
Дата: 16.07.24 13:05
Оценка: 4 (1)
Здравствуйте, пффф, Вы писали:
П>Копирую его в my_project1.vcxproj.filters — в проекте cpp/h файлы автоматом раскладываются по соответствующим папочкам. Хорошо, подкладываю таким же образом к другим проектам. Нифига. cpp/h лежат в одной куче, как и лежали. Но папочки Source Files/Header Files/Resource Files — появились, но файлы туда не помещены.

Если в файле .vcxproj есть, например, <ClCompile Include="main.cpp" />, то с пустым .vcxproj.filters — раскидывается автоматически.
При этом в .vcxproj.filters не создается узел main.cpp -> Source Files. Так работает и без GUID.

А вот если в .vcxproj записи о файле нет, то он только в External Dependencies попадет.
На узле проекта: Add — Existing item, Select all (или не all), профит! Раскидает автоматом по указанным в .vcxproj.filters фильтрам (папкам).
Re: MSVC .vcxproj.filters
От: Alekzander  
Дата: 16.07.24 13:46
Оценка:
Здравствуйте, пффф, Вы писали:

П>Второй вопрос филосовский. Нафига вот это сделали в отдельном файле? Раньше в студии так и было — всё в файле проекта, и было норм, но потом, блин, улучшили. Уродский эклипсовский способ, там примерно такое же дерьмо. Нет ли какого-нибудь способа делать папки в основном проекте, не используя отдельно лежащие .filters?


Не помню конкретно про filters, но когда проектный файл стали разбивать на части, стало можно эксклюдить ненужные из версионного контроля.
Re[2]: MSVC .vcxproj.filters
От: пффф  
Дата: 16.07.24 13:54
Оценка:
Здравствуйте, Alekzander, Вы писали:

П>>Второй вопрос филосовский. Нафига вот это сделали в отдельном файле? Раньше в студии так и было — всё в файле проекта, и было норм, но потом, блин, улучшили. Уродский эклипсовский способ, там примерно такое же дерьмо. Нет ли какого-нибудь способа делать папки в основном проекте, не используя отдельно лежащие .filters?


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


Это про .vcxproj.user. А .vcxproj.filters вполне себе просятся под версионный контроль
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.