MS Visual Studio имеет Solution Explorer, где я могу видеть все файлы проекта, я также могу создавать фильтры, которые похожи на папки для файлов, чтобы держать их в группах. Проблема в том, что я хочу, чтобы мои файлы были разделены на группы как в Visual, так и физически на моем диске. Но я не хочу применять каждое изменение дважды как в Visual, так и на моем диске. Есть ли способ показать фактические папки, в которых я храню свои файлы на диске, в Visual Solution Explorer (и нет - "Показать все файлы" не делает этого, я только что проверил)?
Фактические папки в Visual Solution Explorer?
Ответ 1
Нет - SE и система подачи не содержат независимые копии информации о структуре/иерархии.
Я обычно отключаю фильтры и помещаю файлы там, где я их хочу, так что две структуры по-прежнему синхронизируются по умолчанию (действительно, любой другой способ кажется безумием, если вы хотите иметь какую-либо организацию исходного кода - я всегда групповые файлы для компонентов в отдельных папках).
Затем (с отключенными фильтрами)...
Если вы создаете папки в обозревателе решений и используете контекстное меню из этой папки в "Добавить новый элемент..." или "Добавить существующий элемент", то структура диска будет отображать проводник решения (существующие элементы скопированы, а чем указано, где они в настоящее время проживают, чтобы обеспечить это, что может привести к тому, что старые копии файлов будут оставлены вокруг вашего проекта, если вы добавите неправильную папку SE). В противном случае, как правило, только если вы "добавите в качестве ссылки", что VS поместит элемент в другую папку в SE, чем на диске.
Чтобы упростить процесс, самые простые подходы (после создания резервной копии на всякий случай):
- Откройте средство поиска и поиска файлов и вручную "разберите" их. Любые файлы, которые являются "неправильными", должны быть удалены из SE, перемещены в нужное место на диске, а затем добавлены в SE с помощью контекстного меню для правильной папки SE.
- Если не так много папок, более простой подход состоит в том, чтобы просто удалить все файлы из проводника решений, а затем добавить их (по одной папке за раз) в проект, гарантируя, что вы создадите правильные имена папок, поскольку вы перейти и добавить из контекстного меню каждой папки. Перестраивая SE с нуля, вы можете довольно быстро синхронизировать два макета, и это часто может быть проще, чем пытаться выяснить, где лежат различия.
Как только они синхронизируются, используйте только SE для управления файлами и будьте осторожны, чтобы добавлять элементы в контекстное меню из правильной папки. Если вы перемещаете вещи на диске, вы нарушите ссылки.
Ответ 2
Если вы нажмете "показать все файлы", вы переключите исследователь решений с отображения виртуального фильтра файлов на физический фильтр файлов.
Ответ 3
По фильтрам, я думаю, вы имеете в виду Папки решений. Это виртуальные папки, которые не имеют отношения к файловой системе. Трюк, который я сделал, - это выбросить проект. Элементы, добавленные в папки проектов, поддерживают свои отношения. Это взлом, но он работает. Если кто-то знает менее хакерский способ сделать это, я тоже хотел бы узнать.