Структура каталога проекта потеряна в Visual Studio?
Я изучаю сообщество Visual Studio 2015. Я опытный программист, но новичок в VS, и представление файла меня сбивает с толку. Я создал решение и добавил существующий проект. VS показывает мне все файлы проекта (в моем случае проект С++, поэтому .c
, .cpp
и .h
файлы) на одном уровне дерева в обозревателе решений.
В отличие от этого, если я открою проект в чем-то вроде Sublime Text, VS Code, notepad ++ и т.п., я вижу правильную структуру каталогов, поскольку он находится на диске; как можно было бы увидеть его в File Explorer/Finder или ls
/dir
в терминале.
Я сделал свою домашнюю работу, прежде чем отправил сообщение, и в следующем потоке @Andrey заявляет:
Я боюсь, что такого понятия в MSVS, как "directory структуры". Кроме того, MSVS действительно не нуждается в нем, потому что он использует плоские проекты и иерархии основаны на уровне проекта, а не на файла/каталога.
Как нет такой вещи - вы не можете получить ее автоматически ни вручную. MSVS имеет папки с решениями, которые совершенно разные и нет смысла выражать реальные папки в качестве решения папки.
Visual Studio в качестве браузера кода: как сохранить структуру каталогов?
Это правда? В расположении файлов много смысла, и плоское представление в VS делает проект более сложным для понимания; расположение файлов в структуре каталогов важно. Есть ли способ просмотреть правильную структуру каталогов в VS?
В моей ситуации я работаю с Quickfix, который поддерживает несколько версий (4.0, 4.1, 4.2 и т.д.). Каждый из них имеет разные классы и файлы с тем же именем.
Как вы можете видеть на снимках экрана ниже, все они аккуратно расположены в разных папках на диске, но VS-представление этих файлов очень запутывает:
![введите описание изображения здесь]()
![введите описание изображения здесь]()
Ответы
Ответ 1
Я нашел ответ, данный @Paul Easter в нижеприведенном разделе, очень полезный для понимания этой "причуды", которая на самом деле является "особенностью". Разработана другая концепция структуры проекта:
Но по той причине, что вы не хотите, чтобы папки решений отображались как "физические" папки - это то, что макет решения может не обязательно используйте ту же конвенцию, что и ваш макет управления исходным кодом. Решение папки позволяют настраивать иерархию ваших проектов, чтобы вы можете группировать проекты и элементы вместе, как вам угодно, а затем решить, что вам не нравится, и изменить его снова, не нужно идти через кошмар движущихся элементов управления источником вокруг и раздражая остальных членов вашей команды.
Папка решений Visual Studio в качестве реальных папок
Это хорошая идея? Я вижу, что некоторым людям это нравится, так как это позволяет им компоновать файлы проектов по своему усмотрению. На данный момент мне это не нравится; Я уверен отчасти потому, что это ново для меня, но и по двум причинам:
1. В организованном проекте иерархия каталогов не является произвольной; Главный инженер упорядочивает файлы определенным образом по уважительным причинам.
2. Он добавляет слой абстракции между представлением VS файла и структурой операционной системы. Мне нравится прямой доступ к файлам, над которыми я работаю; с системой VS, я чувствую себя странно и устрашающе отключен от базовых файлов в VS. Я должен признать, что этот слой имеет свои аномалии и вызовет проблемы для меня.