Visual studio несколько проектов в одном решении

Обновлено: 07.07.2024

Я новичок в Visual Studio и экспериментирую с некоторыми службами Windows. Я создал два решения, и я хотел бы рассмотреть оба из них одновременно. Без необходимости нажимать файл-> недавние проекты, чтобы переключаться назад и вперед.

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

Есть ли способ просмотреть несколько решений / проектов в Visual Studio?

Если вы просто ищете более быстрый способ доступа к «Файл> Недавние проекты и решения», вы можете создать собственную панель инструментов или пункт меню. Откройте «Инструменты> Настроить», перейдите на вкладку «Команды», нажмите «Добавить команду» и выберите «Файл> Список последних проектов». Положите его туда, куда хотите. Проекты возможны, но решения в том же обозревателе решений невозможны. Должны начать новый экземпляр. Но в Mac версии Visual Studio это поддерживает.

Так устроен Visual Studio: одно решение, один экземпляр Visual Studio (VS).

Помимо переключения между решениями в одном экземпляре VS, вы также можете открыть другой экземпляр VS и открыть другое решение с этим. Рядом с решениями есть, как вы сказали, «проекты». Вы можете иметь несколько проектов в одном решении и, следовательно, просматривать несколько проектов одновременно.

Хорошо, это имеет смысл. Таким образом, в двух словах, вы можете вкладывать проекты в решения. Но вы не можете иметь много открытых решений одновременно. Спасибо. Решение более или менее похоже на концепцию рабочего пространства в Eclipse - вы не можете загрузить два в одном экземпляре. Версия Visual Studio для Mac поддерживает открытие нескольких решений в одном

Есть намного более простой (но не столь очевидный) способ; щелкните правой кнопкой мыши значок Visual Studio на панели задач, затем щелкните правой кнопкой мыши имя приложения во всплывающем меню и выберите «Открыть». Затем Windows откроет другой экземпляр, где вы можете открыть другое решение в.

Вы можете открыть другой экземпляр, как и любую другую программу. В Windows <= 7 откройте как обычно. В Windows> = 8 вам придется либо удерживать клавишу Shift, либо переключать глобальный параметр реестра . Нажмите средний значок VS на панели задач, чтобы запустить новый экземпляр, если он уже запущен. Также удобно прикреплять часто используемые решения к списку переходов. Если щелкнуть правой кнопкой мыши значок и выбрать один из них, откроется его в новом экземпляре вместо текущего. Это актуальный ответ для VS 2015 . @ Майк, пожалуйста, обновите ответ Для OSX щелкните правой кнопкой мыши значок VS в доке и выберите «Новый экземпляр»

Если у вас есть два отдельных решения, вы не можете просматривать их одновременно в одном экземпляре VS. Тем не менее, вы можете открыть несколько экземпляров VS и вкладки между ними.

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

В обозревателе решений выберите Решение, в которое вы хотите импортировать проект. Щелкните правой кнопкой мыши и выберите Add-> Existing Project из контекстного меню.

В окне выбора файлов найдите файл проекта, который вы хотите импортировать (он будет заканчиваться на .XXproj, где XX - это язык, который вы используете).

Нажмите Открыть и вуаля! Ваш проект импортирован.

Существует способ хранения нескольких решений в одном экземпляре VS.

Попытайтесь выполнить следующие шаги:

  1. Файл> Открыть> Проект / Решение
  2. Это откроет открытое окно проекта, обратите внимание внизу, где написано «Опции», выберите « Добавить в решение».

Добавить в решение

  1. Затем выберите файл, который хотите добавить, и нажмите «Открыть».
  2. Это добавит решение к вашему проекту. Вы по-прежнему не сможете запустить один и тот же проект в одном экземпляре VS, но вы можете организовать весь свой код в одном месте.

ПРИМЕЧАНИЕ. Это сработало для Visual Studio 2013 Professional.

Это правильный ответ на первоначальный вопрос ОП: просмотреть несколько решений одновременно в VS Solution Explorer . Проверено это продолжает работать, как описано в VS 2017. Вопрос состоит из двух частей решений и проектов. Для решений это не правильно. Это добавит проекты второго решения к первому решению. Таким образом, это изменение первого решения, которое является неправильным. В последнее время я думаю, что эта функция доступна для Mac-версии, но не для Windows-версии.

Вы можете создать новое пустое решение и добавить в него различные проекты.

Просто щелкните правой кнопкой мыши значок Visual Studio и выберите «Новое окно» на контекстной панели инструментов, которая появляется в нижней части Windows 8. Запустится новый экземпляр Visual Studio, а затем вы сможете открыть свой второй проект.

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

Попробуйте сделать это с сотнями проектов, и вы увидите, как время сборки решения стремится к бесконечности. Это также противоречит философии git по управлению исходным кодом для нескольких проектов. Это монолитный кошмар.

Два способа приходят на ум .

Откройте другое окно визуальной студии и откройте в нем второе решение.

Было бы предпочтительнее добавить ваши существующие проекты в одно решение, просто щелкните правой кнопкой мыши и добавьте существующий проект и перейдите к файлу проекта (csproj). . например C: \ Users \ User \ Documents \ Visual Studio 2012 \ Projects \ MySqlWindowsFormsApplication1 \ MySql Windows Forms Project1 \ MySql Windows Forms Project1.csproj . Во втором случае вам может потребоваться настроить несколько запускаемых проектов т.е. для людей с клиент-серверными приложениями или приложениями с зависимостями. . Для этого выберите решение, затем перейдите: Проект >> Свойства >> Запуск проекта >> Выберите несколько проектов запуска и задайте действия для запуска. При отладке будет выбран выбранный в качестве запуска.

Не знаю, полезно ли это, но если вы хотите работать с несколькими проектами без навигации по дереву проектов (например, с несколькими окнами), вы можете попробовать открыть VS на другом виртуальном рабочем столе (по крайней мере, это возможно для Windows 10), удерживая Ctrl + win + D. Затем откройте другую студию VS и откройте ваш другой проект там. Вы можете переключаться между проектами с помощью Ctrl + win + клавиша со стрелкой .

Пользователи MAC - эта проблема меня заводила, так как невозможно открыть два разных экземпляра Visual Studio одновременно. Я нашел решение, которое отлично работает, хотя и немного неортодоксально: получите последнюю версию бета-тестирования, которая будет установлена ​​вместе с вашей обычной установкой VS в отдельной песочнице (она делает это автоматически). Затем вы можете запустить обе версии бок о бок, чего достаточно для того, что мне нужно - чтобы иметь возможность проверить один проект на предмет структуры, кода и т. Д., В то же время выполняя фактическое кодирование, которое мне нужно сделать в «текущем» экземпляре установки VS.

Как только программы становятся больше, их следует разбивать на несколько файлов (в целях удобства и улучшения функциональности). Одним из преимуществ использования IDE является легкость в работе с n-ным количеством файлов. Мы уже знаем, как создавать и компилировать однофайловые проекты, добавление новых файлов не составит труда.

Многофайловые проекты в Visual Studio

В Visual Studio щелкните правой кнопкой мыши по имени вашего проекта в "Обозревателе решений" , затем "Добавить" > "Создать элемент. " :


Во всплывающем диалоговом окне выберите тип файла, укажите его имя, расположение, а затем нажмите "Добавить" :


Также вы можете добавлять файлы к вашему проекту через "Проект" > "Добавить новый элемент. " :



Многофайловые проекты в Code::Blocks

В Code::Blocks перейдите в "File" > "New" > "File. " :


Затем выберите "C/C++ source" и нажмите "Go" :


Затем "Next" (этого окна может и не быть):


Затем "C++" и опять "Next" :


Затем укажите имя нового файла (не забудьте расширение .cpp) и его расположение (нажмите на троеточие и выберите путь). Убедитесь, что поставлены все три галочки (они отвечают за конфигурации сборки). Затем нажмите "Finish" :


Готово! Файл добавлен.

Многофайловые проекты в GCC/G++

В командной строке вам нужно будет создать файл, указать его имя и подключить к компиляции, например:

g++ main.cpp add.cpp -o main

Пример многофайловой программы

Рассмотрим следующую программу, которая состоит из двух файлов.

std :: cout << "The sum of 3 and 4 is: " << add ( 3 , 4 ) << std :: endl ;

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

add: идентификатор не найден

При компиляции кода, компилятор не знает о существовании функций, которые находятся в других файлах. Это сделано специально, чтобы функции и переменные с одинаковыми именами, но в разных файлах, не вызывали конфликт имен.

Тем не менее, в данном случае, мы хотим, чтобы main.cpp знал (и использовал) функцию аdd(), которая находится в add.cpp. Для предоставления доступа main.cpp к функциям add.cpp, нам нужно использовать предварительное объявление:

int add ( int x , int y ) ; // это нужно для того, чтобы main.cpp знал, что функция add() определена в другом месте std :: cout << "The sum of 3 and 4 is: " << add ( 3 , 4 ) << std :: endl ;

Теперь, когда компилятор будет компилировать main.cpp, он будет знать, что такое add(). Попробуйте запустить эту программу еще раз.

Что-то пошло не так!

Пункт №1: Если вы получили ошибку от компилятора, что функция add() не определена в main(), то, скорее всего, вы забыли записать предварительное объявление функции add() в main.cpp.

Пункт №2: Если вы получили следующую ошибку от линкера:

unresolved external symbol "int __cdecl add(int,int)" (?add@@YAHHH@Z) referenced in function _main

то возможных решений есть несколько:

a) Cкорее всего, add.cpp некорректно добавлен в ваш проект. Если вы используете Visual Studio или Code::Blocks, то вы должны увидеть add.cpp в "Обозревателе решений" в списке файлов вашего проекта или в панели проекта IDE. Если добавленного файла нет, то щелкните правой кнопкой мыши по вашему проекту и добавьте файл, как это показано выше, а затем повторите попытку компиляции вашего проекта.

б) Вполне возможно, что вы добавили add.cpp к другому проекту.

в) Вполне возможно, что добавленный файл не подключен к компиляции/линкингу. Щелкните правой кнопкой мыши по имени вашего добавленного файла и выберите "Свойства" :


Убедитесь, что пункт "Исключен из сборки" оставлен пустым или выбрано значение "Нет" :


Пункт №3: Не следует писать следующую строку в main.cpp:

Наличие этой строки приведет к тому, что компилятор вставит всё содержимое add.cpp непосредственно в main.cpp вместо того, чтобы рассматривать эти файлы как отдельные.

Разделите следующую программу на два файла (main.cpp и input.cpp): main.cpp должен содержать функцию main(), а input.cpp — функцию getInteger().

Помните, что для функции getInteger() вам понадобится предварительное объявление в main.cpp.

Ответ

int getInteger ( ) ; // предварительное объявление функции getInteger() (904 оценок, среднее: 4,87 из 5)

Урок №19. Прототип функции и Предварительное объявление

Комментариев: 50

Я так понимаю, что при включении в главный файл заголовочный файл библиотеки, которые были в заголовочном файле копируются, что только прибавляет веса главному файлу или все же копирует лишь функции?

Здравствуйте. А если у меня функция getInteger() будет определена в 2 и более файлах, то как файл с функцией main() поймет какой именно getInteger() мне требуется?

Я методом тыка уже определил что будет ошибка )

Юрий :

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

Юрий :

Смотрите решение в уроке №7.

Спасибо, Юрий! Замечательные уроки! Получаю удовольствие.. Возникают вопросы.. ищу на сайтах.. нахожу.. Будут посерьёзнее, намерен обращаться, если позволите!

Юрий :

Начал изучать С++ для создания игр на Unreal, но там все как то сложно.
Случайно наткнулся на ваши уроки, это же просто чудо какое то)
Спасибо за ваш труд.
Пожалуй накидаю плюсиков в карму автору)

Мне кажется стоило также указать что хорошим тоном является написать функцию в <name>.cpp, сделать её объявление в <name>.h, после чего подключить <name.h> в основном файле.

Вместо того чтобы писать объявления функций напрямую.

Первый файл с функцией int getInteger():

Может кто-нибудь знает как это все осуществить при помощи Xcode, или статью какую-нибудь по обучению использования этой среды.

А что сложного в Xcode? Всё по аналогии с VS, но со своими особенностями (если уж на то пошло). Можно нагуглить на крайний случай.

Юрий :

Здравствуйте я пишу в андроид с помощью Dcoder и хотел пройти тест в конце этого урока но у меня выдаёт ошибку.

Спасибо за уроки, хороший язык оказывается.

Срочно нужна помощь.
Начал программировать на андроид с приложения Dcoder(c++: GCC compiler 6.3 (знаю, что это неудобно и т. д., но лучше так, чем никак).
С этим уроком получилась зиминка из-за моего не состояния найти способ, как связать несколько файлов именно в этом приложении. Если кто-то что с этим делать, тогда пишите (буду очень благодарен). Автору спасибо за уроки. Всё очень доходчиво написано.

Это символ переноса строки, такая управляющая последовательность(и гуглите 🙂 )

Какая же чудесная находка для меня эти уроки) Автору огромное спасибо за проделанную работу за перевод и адаптацию

Юрий : Юрий :

Здравствуйте. Как добавлять файлы в Visual Studio 2017 если он на русском. Просто не очень понятно, переводчик не помогает.

Юрий :

Тогда я ошибся, и это чудесно =) Прошу прощения. Я не заметил ссылки, привык их искать где-то в аннотации.

Юрий :

Ничего, без проблем 🙂

Добрый день! При попытке добавить в функцию, которая находится в отдельном файле, "stdafx.h" компилятор выдаёт ошибку: не удаётся открыть файл включения stdafx.h: No such file or directory. Без stdafx.h всё нормально работает. Visual Studio 2015.

Юрий :

Сегодня читала статью с телефона. Очень удобный сайт)

Юрий :

Когда пишу файл add.cpp постоянно не идёт,это ж линкер мешает по моему. И что ему не так,когда твою программу скопировал,также всё:

Ошибка LNK2019 ссылка на неразрешенный внешний символ _main в функции "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) add.cpp 1

Юрий :

Вы сделали всё как в уроке? Правильно добавили файл? К тому проекту, что нужно?

Почему в VS нужно обязательно подключать библиотеку stdafx.h? Раньше, когда я учился по видеоурокам, я писал программы и без ее подключения. Но конечно есть одно но, я тогда немного изменил параметры создания проекта: поставил галочку на "Empty project" и удалил галочку на "Security Development Lifecycle (SDL) checks ". Может быть это как-то повлияло?

Юрий :

Зачем писать названия в VS (например Source Files) на английском, если в VS есть русский язык?

Я новичок в visual studio, и я экспериментирую с некоторыми службами Windows. Я создал два решения, и я хотел бы посмотреть обе сразу. Без необходимости нажимать file - >recent projects для переключения вперед и назад.

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

есть ли в любом случае для просмотра нескольких решений/проектов в Visual Студия?

Это способ разработки Visual Studio: одно решение, один экземпляр Visual Studio (VS).

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

есть гораздо более простой (но не столь очевидный) способ; щелкните правой кнопкой мыши значок Visual Studio на панели задач, затем щелкните правой кнопкой мыши имя приложения во всплывающем меню, затем нажмите "Открыть". Затем Windows откроет другой экземпляр, в котором вы можете открыть другое решение.

Если у вас есть два отдельных решения, то вы не можете просматривать их одновременно в одном экземпляре VS. Однако вы можете открыть несколько экземпляров VS и tab между ними.

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

в обозревателе решений выберите решение, в которое требуется импортировать проект. Щелкните правой кнопкой мыши и выберите Добавить - >существующий проект в контекстном меню.

в окне выбора файла найдите файл проекта, который вы хотите импортировать (это закончится .XXproj, где XX-это язык, который вы используете).

вы можете создать новое пустое решение и добавить свои различные проекты.

просто щелкните правой кнопкой мыши значок Visual Studio, а затем выберите "новое окно" на контекстной панели инструментов, которая появляется внизу в Windows 8. Будет запущен новый экземпляр Visual Studio, а затем вы можете открыть свой второй проект.

в одном экземпляре Visual Studio может быть несколько проектов. Цель решения VS-объединить все проекты, с которыми вы хотите работать, в одном месте, поэтому вы не можете иметь несколько решений в одном экземпляре. Вам придется открывать каждое решение отдельно.

на ум приходят два способа.

откройте другое окно visual studio и откройте в нем второе решение.

было бы предпочтительнее добавить существующие проекты в одно решение, просто щелкните правой кнопкой мыши и добавьте существующий проект и перейдите к файлу проекта (csproj). . например C:\Users\User\Documents\Visual студия 2012\проекты\MySqlWindowsFormsApplication1\MySql Windows Forms Project1\MySql Windows Forms Project1.csproj . В этом во-вторых, вы можете захотеть настройка нескольких проектов запуска т. е. для людей с клиент-серверными приложениями или приложениями с зависимостями. . - . Для этого выберите решение, затем GoTo: Project>>Properties>>Startup Project>> выберите несколько проектов запуска и задайте действия для запуска. При отладке будет запущен выбранный в качестве start.

Как открыть несколько проектов / папок в одном экземпляре Visual Studio Code и открыть несколько файлов в одном представлении? Есть ли у него возможность запроса на изменение в будущем?

Обновить

Как упоминалось в нескольких других ответах здесь, этот «принятый» ответ устарел и больше не является правильным. VS Code теперь имеет концепцию «рабочего пространства», которое позволяет вам добавлять несколько «корневых» папок в VS Code в одном окне.

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

Для этого вы используете команду Add folder to Workspace. . Затем VS Code сохраняет эту конфигурацию в новом файле с расширением .code-workspace . Если вы дважды щелкните этот файл, VS Code повторно откроется с обеими папками.

Исходный принятый ответ (устарел)

«VSCode основан на файлах и папках - вы можете сразу начать работу, открыв файл или папку в VSCode».

Это означает, что концепция файлов решений и проектов, таких как .sln и .csproj, не имеет реальной функции в VSCode, за исключением того, что он использует их только для нацеливания и определения того, какой язык поддерживать Intellisense и тому подобное.

Проще говоря, открываемая вами папка - это корень, с которым вы работаете. Но, конечно, ничто не мешает вам открыть несколько окон.

Запускать по одному проекту в одном решении

Откройте окно обозревателя решений -> Открыть решение для проекта -> щелкните его правой кнопкой мыши -> Выберите свойства из раскрывающегося списка (Alt + Enter) -> Общие свойства -> выберите проект при запуске, вы увидите «текущий выбор, одиночный выбор и множественный выбор. Выбрав «Текущий выбор», вы сможете запускать по одному проекту за раз в одной и той же рабочей области решения с разным кодом.

Вы можете использовать это расширение, известное как Project Manager.

В этом случае проекты сохраняются в файле projects.json, просто сохраните проект и, нажав Shift + Alt + P , вы увидите список всех ваших сохраненных проектов, оттуда вы можете легко переключать свои проекты.

Вы можете создать рабочее пространство и поместить в него папки: Файл> сохранить рабочее пространство как и перетащить ваши папки в сохраненное рабочее пространство

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

Во-первых, создайте папку, назовите ее так, как хотите.

И вы увидите свои папки в том же окне VSCode.

Вы можете открыть до 3 файлов в одном окне, нажав [CTRL] + [^]

Невозможно нормально открыть новый экземпляр Visual Studio Code, и он не работает, если вы откроете новый экземпляр от имени администратора.

Решение: просто щелкните правой кнопкой мыши на файле VS Code .exe и выберите «Новое окно», чтобы открыть столько новых окон, сколько захотите. :)

Просто поместите свои проекты в ту же папку и просто откройте эту папку в vscode.

Теперь ваши проекты будут выглядеть так:

ГРУППА ПРОЕКТОВ

ПРОЕКТ 1

ПРОЕКТ 2

Или вы можете просто выбрать несколько папок и затем нажать «Открыть».

Перейдите в Файл> Открыть папку , затем выберите несколько папок, которые хотите открыть, и нажмите Выбрать папку .

Вы можете установить расширение Контекстные меню открытых папок для VS Code от Криса Диаса.

  • Перезапустить код Visual Studio
  • Щелкните папку правой кнопкой мыши и выберите «Открыть новую рабочую среду здесь».

Несколько папок в VS

Щелкните -> Файл -> Добавить папку на рабочее место.

enter image description here

Выберите, над каким проектом работать -> Добавить (нажмите)

enter image description here

Теперь мы можем открывать несколько папок в одном экземпляре, код Visual Studio назван Workspace («Area de Trabajo»). Взгляните на изображения, это очень просто.

enter image description here

enter image description here

В Windows можно использовать mklink для создания символических ссылок каталогов на необходимые папки. Затем храните их вместе в папке, и VSCode перечислит их содержимое.

Думаю, это очень похоже на идею @NeilShen.

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

В противном случае вы можете открыть 2 экземпляра кода в качестве другого варианта

Поддержка многокорневых рабочих пространств теперь включена по умолчанию в последней стабильной версии. выпуск [выпуск за ноябрь 2017 г.].

Команда File > Add Folder to Workspace вызывает диалоговое окно "Открыть папку" для выбора новой папки.

enter image description here

Если вы используете unix-подобную ОС, вы можете создать мягкую ссылку на вашу целевую папку.

Например. Я хочу видеть исходный код golang, пока использую VSCode. Итак, я создаю мягкую ссылку на go/src в папке моего проекта.

Надеюсь это поможет!

Это был наш запрос на функцию №1 - это было давно, но теперь оно здесь.

Полная документация находится здесь.

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

Оригинальный ответ

В настоящее время инсайдерский канал VSCode дает нам это прямо из коробки.

Multi root workspace in vscode

Дополнительные сведения см. В записи блога.

Не уверен, почему не упоминается самое простое решение. Вы можете просто сделать File>New Window и открыть другой проект в новом окне.

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