Как добавить структуру в visual studio

Обновлено: 03.07.2024

Традиционно моделирование программного обеспечения осуществляется отдельно от кодирования. Как правило, это происходит на этапе проектирования, который заканчивается до начала кодирования. В большей части случаев диаграммы моделирования, построенные на этапе проектирования, быстро устаревают в ходе разработки программного обеспечения и теряют свое значение при неизбежном изменении проекта.

Утилита Class Designer системы Visual Studio позволяет внедрить моделирование в интегрированную среду разработки в виде действий, которые можно выполнить в любое время на всем протяжении разработки проекта. Диаграммы классов динамически конструируются по исходному коду, т.е. они никогда не устаревают. Любые изменения, внесенные в исходном коде, немедленно отражаются на диаграмме классов, а любое изменение диаграммы классов отражается в коде.

Создание диаграммы классов

Процесс проектирования приложения обычно подразумевает как минимум наличие схемы классов, которые будут созданы, и описание их взаимодействия. Среда Visual Studio 2013 имеет область проектирования Class Designer, в которой можно формировать диаграмму классов. Затем в классы можно добавлять поля, свойства и методы, а также устанавливать взаимоотношения между ними.

Несмотря на то что этот объект называется диаграммой классов, он поддерживает классы, структуры, перечисления, интерфейсы, абстрактные классы и делегаты. Существует несколько способов, с помощью которых разработчик может добавлять диаграмму классов в свой проект. Например, он может открыть диалоговое окно Add New Item, чтобы создать новую пустую диаграмму классов в проекте:

Добавление диаграммы классов в проект

Новую диаграмму классов можно добавить в проект, щелкнув на кнопке View Class Diagram инструментальной панели в окне Solution Explorer или щелкнув правой кнопкой мыши на проекте или классе, а затем выбрав команду View Class Diagram в контекстном меню. Если при этом проект был выделен, то система Visual Studio автоматически добавит все типы, определенные в проекте, в начальную диаграмму классов. Хотя в некоторых случаях это может оказаться удобным, для проекта, содержащего большое количество классов, процесс создания и уточнения такой диаграммы может оказаться слишком долгим.

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

Область действия утилиты Class Designer ограничена одним проектом. Например, нельзя добавлять в диаграмму классов типы, определенные в разных проектах, даже если они являются частями одного и того же решения.

Надстройку Class Designer можно разделить на четыре компонента: область проектирования (design surface), инструментальная панель Toolbox, окно Class Details, сетка свойств. Изменения диаграммы классов сохраняются в файле с расширением *.cd, который в сочетании с исходными файлами используется для генерации схемы, демонстрируемой в области проектирования Class Designer.

Область проектирования диаграммы классов

Область проектирования надстройки Class Designer позволяет разработчику взаимодействовать с типами, используя перетаскивание компонентов. Разработчик может добавлять в область проектирования существующие типы, перетаскивая их из любого представления классов или окна Solution Explorer. Если файл, связанный с окном Solution Explorer, содержит несколько типов, то все они добавляются в область проектирования.

На рисунке ниже показана простая диаграмма классов, содержащая два класса: Customer и Order, а также перечисление OrderStatus. Каждый класс содержит поля, свойства, методы и события. Между классами существует ассоциация, поскольку класс Customer содержит свойство Orders, представляющее собой список объектов типа Order, а класс Order реализует интерфейс IDataErrorInfo. Вся эта информация содержится на диаграмме классов.

Пример диаграммы классов

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

Надстройка Class Designer часто используется для просмотра многочисленных классов, чтобы было понятно, как они связаны друг с другом. В таком случае удобно скрывать компоненты классов, чтобы упростить диаграмму. Для того чтобы скрыть все компоненты одновременно, можно использовать переключатель, расположенный в правом верхнем углу представления класса в области проектирования. Если необходимо скрыть не все, а лишь некоторые компоненты, то их можно скрывать по отдельности или по разделам, щелкая правой кнопкой мыши на соответствующем элементе и выбирая в контекстном меню команду Hide.

Инструментальная панель Toolbox

Для того чтобы облегчить добавление элементов на диаграмму классов, в инструментальной панели Toolbox есть корешок закладки Class Designer. Чтобы создать элемент, следует перетащить его из инструментальной панели Toolbox в область проектирования и дважды щелкнуть на нем. На рисунке ниже показана инструментальная панель Toolbox с видимой закладкой Class Designer. Элементы на панели Toolbox можно разделить на сущности (entities) или соединители (connectors). Обратите внимание на то, что элемент Comment можно добавить на закладку Class Designer, но он не появляется ни в одной части кода, а просто добавляется в документацию о диаграмме классов.

Элементы панели Toolbox для работы с диаграммами классов

Сущности (entities)

Для того чтобы удалить сущности из диаграммы, надо щелкнуть на них правой кнопкой мыши и выбрать в контекстном меню команду Remove From Diagram. В этом случае они не удаляются из исходного кода, а исчезают из диаграммы классов. Если разработчик все же хочет удалить связанный с сущностью исходный код, следует выбрать команду Delete Code.

Для того чтобы увидеть код, связанный с сущностью, следует дважды щелкнуть на сущности или выбрать команду View Code в контекстном меню, которое открывается после щелчка правой кнопкой мыши. Сущности, включенные в инструментальную панель Toolbox, описаны ниже.

Class (класс)

Поля, свойства, методы, события и константы можно добавлять в класс с помощью контекстного меню, открывающегося после щелчка правой кнопкой мыши или с помощью окна Class Details. Несмотря на то что класс может поддерживать вложенные типы, они не могут добавляться в область проектирования. Классы могут также реализовывать интерфейсы. Например, на рисунке выше класс Order реализует интерфейс IDataErrorInfo.

Enum (перечисление)

Может содержать только список членов с присвоенными им значениями. Каждый метод имеет резюме и комментарии, но они появляются только в виде XML-комментария, расположенного напротив метода.

Interface (интерфейс)

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

Abstract Class (абстрактный класс)

Struct (структура)

Это единственная сущность, кроме перечислений, которая появляется в области проектирования в прямоугольнике. Аналогично классу, структура имеет поля, свойства, методы, события и константы. Кроме того, она тоже может содержать вложенные типы. Тем не менее в отличие от класса структура не имеет деструктора.

Delegate (делегат)

Несмотря на то что делегат появляется на диаграмме классов как сущность, он не может содержать вложенные типы. Он может содержать только параметры, определяющие его сигнатуру.

Соединители (connectors)

Между сущностями могут быть установлены отношения двух типов. Они иллюстрируются на диаграмме классов с помощью соединителей, описанных ниже:

Inheritance (Наследование)

Соединитель Inheritance используется для того, чтобы показать отношение между классами, наследующими свойства друг друга.

Association (Ассоциация)

Если класс содержит ссылку на другой класс, то между ними существует ассоциация. Она демонстрируется с помощью соединителя Association. Если отношение основано на коллекции, - например, на списке объектов типа Order, - его можно представить с помощью ассоциации коллекции (collection association). Ассоциация коллекции Orders показана на рисунке выше в виде соединителя, связывающего классы Customer и Order.

Ассоциацию классов (class association) можно представить либо в виде поля или свойства класса, либо в виде ассоциативной связи между классами. Для этого можно использовать контекстное меню, открывающееся после щелчка правой кнопкой мыши на поле, свойстве или линии связи между классами.

Для того чтобы показать свойство как ассоциацию коллекции, необходимо щелкнуть правой кнопкой мыши на классе и выбрать команду Show as Collection Association. В результате свойство будет скрыто в классе и показано в виде соединителя с ассоциированным классом на диаграмме.

Visual Studio является многооконной, настраиваемой, обладает большим набором возможностей.


Рисунок 1.1 – главное меню Visual Studio

· Файл - открытие, создание, добавление, закрывание, печать и проч.

· Правка - стандартные команды правки: копирование, вставка, вырезание и

· Вид - команды для скрытия и отображения всех окон и панелей инструментов.

· Проект - команды для работы с проектом: добавление элементов, форм,

· Построение - команды компиляции программы.

· Отладка -команды для отладки программы.

· Окно - управление расположением окон.

· Справка - вызов справочной документации.

Под строкой меню расположена панель инструментов, содержащая вложенные панели кнопок, запускающих те или иные команды из определенной группы или управляющих средой разработки Visual Studio.

Поместить группу кнопок на панель инструментов можно при помощи пункта меню Вид / Панели инструментов.

Для создания нового проекта нужно выбрать в меню Файл команду Создать/Проект.Появится новое диалоговое окно создания проекта.


Рисунок 1.2. – Диалоговое окно создания проекта

При создании нового проекта в поле Имянеобходимо указать имя нового проекта, а в поле Расположение - имя каталога, в котором следует сохранить файлы этого проекта. При этом в данном каталоге автоматически будет создан другой каталог, имя которого совпадает с именем проекта. По умолчанию проекты сохраняются в каталоге С:\Documents and Settings\Мои документы\Visual Studio\Projects.

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

После выбора типа проекта и нажатия кнопки OK откроется основное окно визуальной среды Visual Studio (например, рисунок 1.3)


Рисунок 1.3 – Окно визуальной среды

Существует три основные части визуальной среды при разработке проекта. В центре находится главное окно для создания визуальных форм и написания кода. Слева размещается окно Обозревателя решений, а справа окно инспектора свойств. Окно Обозревателя решенийпозволяет увидеть, из каких проектов состоит решение и какие файлы входят в состав этих проектов. Окно свойств (Properties) содержит список атрибутов объекта, выделенного в данный момент. В левой части среды разработки может присутствовать панель элементов управления. Эту панель можно открыть выбором пункта меню Вид/Панель элементовили нажатием Ctrl-Alt-X.

Окно Обозревателя решенийсодержит древовидное представление элементов проекта, которые можно открывать по отдельности для модификации или выполнения задач по управлению (рисунок 1.4). В дереве отображаются логические отношения решения и проектов, а также элементов решения. Решение - это набор проектов, из которых состоит приложение. Компонентами проектов могут быть модули, а также другие файлы, которые

требуются для создания приложения. Если нужно отредактировать компонент проекта, следует дважды щелкнуть по его имени в окне Обозревателя решений.


Рисунок 1.4. – Окно обозревателя решений

Пункты контекстное меню окна обозревателя решений (вызывающегося нажатием правой кнопкой мыши) позволяют изменять содержимое проекта, а также добавлять новые компоненты. Помимо обычных программных модулей, можно с помощью команды Добавить/Создать элемент… создать в проекте самые разные компоненты (см. рисунок 1.5.) или командой Добавить/Существующий элемент… подключать к проекту уже существующий компонент, указав путь к этому компоненту.


Рисунок 1.5. – Шаблоны компонент проекта

В проекте Visual C++ взаимозависимости между отдельными частями описаны в текстовом файле проекта с расширением .vcproj. А специальный текстовый файл решения с расширением .sln содержит список всех проектов данного решения. Чтобы начать работу с существующим проектом, достаточно открыть в Visual Studio соответствующий sln-файл.

Visual C++ также создает промежуточные файлы нескольких типов [4]:

.rc, .resX -поддержка просмотра ресурсов.

.res - откомпилированный файл ресурсов.

.ncb - поддержка просмотра классов. Этот файл создается и затем обновляется при каждом запуске программы. Он имеет самый большой объем среди всех файлов проекта.

.pdb - файл,используемый компоновщиком для записи отладочной информации о пользовательской программе с целью ускорения редактирования связей в режиме отладки.

.sln - файл решения.

.suo - поддержка параметров и конфигурации решения.

.vcproj - файл проекта.

.ico - файл содержит изображение иконки, которое на форме расположено в верхнем левом углу.

Файл AssemblyInfo содержит информацию о приложении.

1.3 Создание консольного приложения в Visual Studio

Visual Studio представляет собой интегрированную среду программирования, т.е. объединяет текстовый редактор, компилятор, отладчик и еще ряд дополнительных программ.

Для создания консольного приложения выберем в окне создания проекта тип проекта Win32 и шаблон: Консольное приложение Win32. После ввода имени проекта нажмем кнопку ОК.


Рисунок 1.6. – Новый проект

После этого откроется основное окно разработки проекта (рис 1.6на.). Точкой входа проекта является функция _tmain(…). Разработаем программу вычисления таблицы значений функции Y вида:


,

при изменении аргумента X на интервале от -2 до +2 с шагом 0,5. Параметр функции A должен вводиться с клавиатуры.

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

Итак, как вы добавляете существующие каталоги и файлы в Visual Studio 2008?

перетащите файлы / папки из Проводника Windows в Обозреватель решений. Это добавит их всех. Обратите внимание, это не сработает, если Visual Studio в режиме администратора, так как Windows Explorer-это процесс пользовательского режима.

включить "Show All Files" для конкретного проекта (вам может потребоваться нажать "Обновить", чтобы увидеть их)**.

папки/файлы, которые не являются частью вашего проекта appear slightly "lighter" в дереве проекта.

Right click папки/файлы, которые вы хотите добавить, и нажмите кнопку "Include In Project" . Он будет рекурсивно добавлять папки / файлы в проект.

* * эти кнопки расположены на панели инструментов mini Solution Explorer.

* * убедитесь, что вы не находитесь в режиме отладки

В Обозревателе Решений:

  1. нажмите Показать все файлы (второй значок слева вверху обозревателя решений)
  2. найдите папку, которую вы хотите добавить
  3. щелкните правой кнопкой мыши и выберите "Включить в проект"

Я использую это для установки дополнений, таких как HTML-редакторы и сторонние браузеры файлов.

Я просто хочу отметить, что оба решения предложили выше
- Перетащите из Проводника Windows
- Показать все файлы, а затем включить в проект.
Не делайте того, о чем спрашивают:
Включить в проект при сохранении структуры каталогов.
По крайней мере, не в моем случае (C++/CLI Project Visual Studio 2013 в Windows 7).
В Visual Studio после возвращения в обычное представление (не показывать все файлы) все добавленные файлы перечислены в высший уровень проекта.
Да, на диске они все еще находятся там, где они были, но в обозревателе решений они свободны.

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

Я не сразу понял это, основываясь на этих описаниях, но вот что я, наконец, наткнулся:

  1. включить "показать все файлы" - на панели инструментов обозревателя решений есть значок
  2. используя Проводник Windows (не проводник решений), переместите файлы в структуру каталогов, где они должны находиться
  3. нажмите "Обновить" также на панели инструментов обозревателя решений
  4. файлы, которые вы переместили должны быть видны "ghosted" в древовидной структуре обозревателя решений, где вы их разместили
  5. щелкните правой кнопкой мыши на ваших призрачных файлов или папок и нажмите кнопку "Включить в проект". Все содержимое папки будет включено

В дополнение к ответам. Ниже приведен значок для'Показать Все Файлы', как раз для легкой ссылки.

enter image description here

это немного поздно, но вы можете изменить свой проект XML, чтобы добавить существующие подпапки и структуры автоматически в свой проект, как "node_modules" из NPM:

Это для пожилых в MSBuild / визуальный студийные версии

для текущих версий MSBuild / Visual Studio:

просто поместите его в узлы xml:

в этом случае просто измените $(MSBuildProjectDirectory)\node_modules на имя вашей папки

enter image description here

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

щелкните правой кнопкой мыши на папке - > включить в проект.

вам нужно поместить структуру каталогов в каталог проекта. А затем нажмите значок "показать все файлы"в верхней части панели инструментов обозревателя решений. После этого будет показан добавленный каталог. Затем вам нужно будет выбрать этот каталог, щелкнуть правой кнопкой мыши и выбрать "включить в проект"."

наконец, Visual Studio 2017 позволяет пользователю импортировать весь каталог одним щелчком мыши. VS 2017 имеет новую функциональность "Открыть Папку", что позволяет открыть всю папку, даже без необходимости сохранять ее в качестве решения. Исходный код можно импортировать с помощью следующих методов.

  1. Файл - > Открыть - > папка (ctrl + shift + o)
  2. команду devenv.ехе

Он даже поддерживает построение и отладку cmake проекты.

вот что я делаю:

  1. щелкните правой кнопкой мыши на решении - > добавить - > существующий веб-сайт.
  2. выберите папку, в которой находится ваш сайт. Только корневая папка сайта.

затем все будет добавлено в ваше решение из папок в файлы и файлы внутри этих папок.

Что сработало для меня, так это перетащить папку в VS, затем щелкните правой кнопкой мыши папку и выберите "Открыть папку в Проводнике". Затем выберите все и перетащите их в папку в VS.

аккуратный трюк, который я обнаружил, заключается в том, что если вы идете в "Добавить существующий. ", вы можете перетащить папку из открытого диалога в свое решение. У меня есть VS для автоматического открытия в режиме администратора, поэтому это было хорошим обходным путем для меня, поскольку я не хотел отменять это, чтобы заставить это работать.

в Windows 7 Вы можете сделать следующее:

щелкните правой кнопкой мыши на своем проекте и выберите "Добавить->существующий элемент". В появившемся диалоговом окне перейдите к корню каталога, который вы хотите добавить. В правом верхнем углу у вас есть окно поиска. Тип *.cs или *.cpp , независимо от типа файлов, которые вы хотите добавить. После завершения поиска выберите все файлы, нажмите кнопку Добавить и подождите некоторое время.

самый чистый способ, который я нашел, чтобы сделать это-создать новый проект библиотеки классов в целевую папку, и перенаправлять все его сборки в другом месте. Он все равно оставляет .файл csproj находится в этой папке, но позволяет увидеть его в Visual Studio и выбрать файлы для включения в проект.

раздражает, что Visual Studio не поддерживает Это изначально,но CMake может генерировать проект Visual Studio как работу.

кроме этого, просто используйте Qt Creator. Затем он может экспортировать проект VS.

Алгоритм работы при создании C++-проекта в Visual Studio

1. New Project: Создание проекта.

  1. Пункт меню File -> New -> Project (Файл -> Создать -> Проект).
  2. В открывшемся окне в разделе Project Types (Установленные) найти Visual C++.
  3. В разделе Templates (Шаблоны) выбрать Win32 Console Application (Консольное приложение Win32).
  4. Указать имя нового «решения» (Solution Name) и имя проекта (Name).
  5. Сохранить проект на локальном диске в легко доступном месте (например, D:\Projects).
  6. Можно снять галочку Create folder for solution (Создать каталог для решения), чтобы не множить каталоги без необходимости.
  7. В следующем диалоговом окне щелкнуть Далее и затем выбрать Application Settings (Дополнительные параметры) -> Empty Project (Пустой проект). Убрать галочку с пункта Проверки жизненного цикла…

2. Add files: Добавление файлов.
Правый клик на проекте в окне Solution Explorer (Обозреватель решений) — пункт Add (Добавить) — пункт Create New Item (Создать элемент) или Add existing Item (Существующий элемент). Для этого и любого другого проекта понадобится как минимум один файл с точкой входа в программу — функцией main.

3. Exclude files: Исключение файлов.
Сначала удобно создать один проект и добавлять в него по одному файлу с решением каждой отдельной задачи. Однако при этом возникает проблема: в нескольких файлах проекта присутствует функция main, что противоречит правилам C++. Для решения данной проблемы, необходимо «исключать» файлы из проекта (правый клик на файле, Exclude from project (Исключить)). При этом файлы исчезнут из окна проекта, однако сохранятся в каталоге проекта на диске.

Читайте также: