Visual studio несколько проектов в одном решении
Я новичок в 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.
Попытайтесь выполнить следующие шаги:
- Файл> Открыть> Проект / Решение
- Это откроет открытое окно проекта, обратите внимание внизу, где написано «Опции», выберите « Добавить в решение».
- Затем выберите файл, который хотите добавить, и нажмите «Открыть».
- Это добавит решение к вашему проекту. Вы по-прежнему не сможете запустить один и тот же проект в одном экземпляре 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
Щелкните -> Файл -> Добавить папку на рабочее место.
Выберите, над каким проектом работать -> Добавить (нажмите)
Теперь мы можем открывать несколько папок в одном экземпляре, код Visual Studio назван Workspace («Area de Trabajo»). Взгляните на изображения, это очень просто.
В Windows можно использовать mklink для создания символических ссылок каталогов на необходимые папки. Затем храните их вместе в папке, и VSCode перечислит их содержимое.
Думаю, это очень похоже на идею @NeilShen.
Вы можете открыть любую папку, поэтому, если ваши проекты находятся в одном дереве, просто откройте папку под ними.
В противном случае вы можете открыть 2 экземпляра кода в качестве другого варианта
Поддержка многокорневых рабочих пространств теперь включена по умолчанию в последней стабильной версии. выпуск [выпуск за ноябрь 2017 г.].
Команда File > Add Folder to Workspace вызывает диалоговое окно "Открыть папку" для выбора новой папки.
Если вы используете unix-подобную ОС, вы можете создать мягкую ссылку на вашу целевую папку.
Например. Я хочу видеть исходный код golang, пока использую VSCode. Итак, я создаю мягкую ссылку на go/src в папке моего проекта.
Надеюсь это поможет!
Это был наш запрос на функцию №1 - это было давно, но теперь оно здесь.
Полная документация находится здесь.
Вы можете работать с несколькими папками проекта в Visual Studio Code с несколькими корневыми рабочими пространствами. Это может быть очень полезно, когда вы работаете над несколькими связанными проектами одновременно. Например, у вас может быть репозиторий с документацией по продукту, которую вы хотите поддерживать в актуальном состоянии при обновлении исходного кода продукта.
Оригинальный ответ
В настоящее время инсайдерский канал VSCode дает нам это прямо из коробки.
Дополнительные сведения см. В записи блога.
Не уверен, почему не упоминается самое простое решение. Вы можете просто сделать File>New Window и открыть другой проект в новом окне.
Читайте также: