Как отправить проект из visual studio
В этом руководстве показано, как опубликовать консольное приложение, чтобы его могли запускать другие пользователи. При публикации создается набор файлов, которые необходимы для запуска приложения. Чтобы развернуть файлы, скопируйте их на целевой компьютер.
Предварительные требования
Публикация приложения
Запустите Visual Studio.
Убедитесь, что в Visual Studio используется конфигурация сборки Release. При необходимости измените конфигурацию сборки на панели инструментов, указав конфигурацию Выпуск вместо конфигурации Отладка.
Щелкните проект HelloWorld (не решение HelloWorld) правой кнопкой мыши и выберите Опубликовать.
На вкладке Целевой объект на странице Публикация выберите Папка, а затем нажмите кнопку Далее.
На вкладке Определенный целевой объект на странице Публикация выберите Папка, а затем нажмите кнопку Далее.
На вкладке Расположение на странице Публикация нажмите кнопку Готово.
На вкладке Публикация в окне Публикация нажмите кнопку Опубликовать.
Проверка файлов
В следующих шагах будут рассмотрены файлы, созданные в процессе публикации.
В обозревателе решений выберите Показать все файлы.
В папке проекта разверните узел bin/Release/net5.0/publish.
Как показано на рисунке, опубликованные выходные данные включают следующие файлы:
Это версия исполняемого, зависящего от платформы файла приложения. Чтобы запустить его, введите HelloWorld.exe в командной строке. Файл зависит от операционной системы.
HelloWorld.pdb (необязателен для развертывания)
Это файл отладочных символов. Этот файл не нужно распространять вместе с приложением, но желательно сохранить его на случай, если придется выполнять отладку опубликованной версии приложения.
Запуск опубликованного приложения
В обозревателе решений щелкните папку publish правой кнопкой мыши и выберите команду Копировать полный путь.
Откройте командную строку и перейдите к папке publish. Для этого введите cd и вставьте полный путь. Пример:
Запустите приложение с помощью исполняемого файла:
Введите HelloWorld.exe и нажмите клавишу ВВОД .
В ответ на запрос введите имя и нажмите любую клавишу, чтобы выйти.
Запустите приложение с помощью команды dotnet :
Введите dotnet HelloWorld.dll и нажмите клавишу ВВОД .
В ответ на запрос введите имя и нажмите любую клавишу, чтобы выйти.
Дополнительные ресурсы
Следующие шаги
В этом руководстве вы опубликовали консольное приложение. Далее вы создадите библиотеку классов.
В этом руководстве показано, как опубликовать консольное приложение, чтобы его могли запускать другие пользователи. При публикации создается набор файлов, которые необходимы для запуска приложения. Чтобы развернуть файлы, скопируйте их на целевой компьютер.
Предварительные требования
Публикация приложения
Запустите Visual Studio.
Убедитесь, что в Visual Studio используется конфигурация сборки Release. При необходимости измените конфигурацию сборки на панели инструментов, указав конфигурацию Выпуск вместо конфигурации Отладка.
Щелкните проект HelloWorld (не решение HelloWorld) правой кнопкой мыши и выберите Опубликовать.
На вкладке Целевой объект на странице Публикация выберите Папка, а затем нажмите кнопку Далее.
На вкладке Определенный целевой объект на странице Публикация выберите Папка, а затем нажмите кнопку Далее.
На вкладке Расположение на странице Публикация нажмите кнопку Готово.
На вкладке Публикация в окне Публикация нажмите кнопку Опубликовать.
Проверка файлов
В следующих шагах будут рассмотрены файлы, созданные в процессе публикации.
В обозревателе решений выберите Показать все файлы.
В папке проекта разверните узел bin/Release/net5.0/publish.
Как показано на рисунке, опубликованные выходные данные включают следующие файлы:
Это версия исполняемого, зависящего от платформы файла приложения. Чтобы запустить его, введите HelloWorld.exe в командной строке. Файл зависит от операционной системы.
HelloWorld.pdb (необязателен для развертывания)
Это файл отладочных символов. Этот файл не нужно распространять вместе с приложением, но желательно сохранить его на случай, если придется выполнять отладку опубликованной версии приложения.
Запуск опубликованного приложения
В обозревателе решений щелкните папку publish правой кнопкой мыши и выберите команду Копировать полный путь.
Откройте командную строку и перейдите к папке publish. Для этого введите cd и вставьте полный путь. Пример:
Запустите приложение с помощью исполняемого файла:
Введите HelloWorld.exe и нажмите клавишу ВВОД .
В ответ на запрос введите имя и нажмите любую клавишу, чтобы выйти.
Запустите приложение с помощью команды dotnet :
Введите dotnet HelloWorld.dll и нажмите клавишу ВВОД .
В ответ на запрос введите имя и нажмите любую клавишу, чтобы выйти.
Дополнительные ресурсы
Следующие шаги
В этом руководстве вы опубликовали консольное приложение. Далее вы создадите библиотеку классов.
У меня есть два решения, которые имеют общий код, поэтому я хотел бы извлечь его и поделиться им между ними. Кроме того, я хотел бы иметь возможность выпускать эту библиотеку самостоятельно, потому что это может быть полезно другим.
- как лучше всего это сделать с Visual Studio 2008?
- присутствует ли проект в нескольких решениях?
- есть ли у меня отдельное решение для отдельного фрагмента кода?
- решение может зависеть от еще один?
на проект можно ссылаться несколькими решениями.
поместите свою библиотеку или основной код в один проект, а затем ссылаться на этот проект в обоих решениях.
вы можете "связать" файл кода между двумя проектами. Щелкните правой кнопкой мыши проект, выберите Add -> Existing item , а затем нажмите стрелку вниз рядом с :
по моему опыту, связывание проще, чем создание библиотеки. Связанный код приводит к одному исполняемому файлу с одной версией.
вы can включить проект в несколько решений. Я не думаю, что у проекта есть концепция, частью которой он является. Однако другой альтернативой является создание первого решения в известном месте и ссылка на скомпилированные двоичные файлы. У этого есть недостаток, что вам нужно будет немного поработать, если вы хотите ссылаться на разные версии, основанные на том, строите ли вы в конфигурациях выпуска или отладки.
Я не верю, что вы можете сделать одно решение фактически зависит от другого, но вы можете выполнять автоматические сборки в соответствующем порядке с помощью пользовательских скриптов. В основном относитесь к своей общей библиотеке, как если бы это была еще одна зависимость от третьей стороны, такая как NUnit и т. д.
вы можете встроить дикую карту, используя следующий метод (который является способом, которым решение @Andomar сохраняется в.csproj файл)
Если вы хотите скрыть файлы и / или предотвратить расширение wild-card, если вы добавляете или удаляете элемент из папки "виртуальный существующий элемент", например MySisterProject выше.
вы просто создадите отдельный проект библиотеки классов, содержащий общий код. Он не должен быть частью решения, которое его использует. Ссылка на библиотеку классов из любого проекта, который в ней нуждается.
единственный трюк заключается в том, что вам нужно будет использовать ссылку на файл для ссылки на проект, так как он не будет частью решений, которые ссылаются на него. Это означает, что фактическая выходная сборка должна быть размещена в месте, доступ к которому может получить любой, кто создает проект, который ссылается на него. Например, это можно сделать, поместив сборку в общий ресурс.
извлеките общий код в проект библиотеки классов и добавьте этот проект библиотеки классов в свои решения. Затем вы можете добавить ссылку на общий код из других проектов, добавив ссылку на проект библиотеки классов. Преимущество наличия ссылки на проект в отличие от ссылки на двоичный файл/сборку заключается в том, что если вы измените конфигурацию сборки на debug, release, custom и т. д., проект библиотеки общих классов также будет построен на основе этой конфигурации.
вы можете включить один и тот же проект в более чем одно решение, но вы гарантированно столкнетесь с проблемами когда-нибудь в будущем (относительные пути могут стать недействительными, когда вы перемещаете каталоги, например)
после многих лет борьбы с этим, я, наконец, придумал работоспособное решение, но оно требует от Вас использовать Subversion для управления версиями (что не плохо)
на уровне каталога Вашего решения добавьте svn: внешние свойство, указывающее на проекты, которые необходимо включить в решение. Subversion вытащит проект из репозитория и сохранит его в подпапке вашего файла решения. Файл решения может просто использовать относительные пути для ссылки на проект.
Если я найду еще немного времени, я объясню это подробно.
Это хорошая идея, чтобы создать библиотеку классов dll, которые содержат все общие функциональные возможности. Каждое решение может ссылаться на эту dll независимо от других решений.
Infact, вот как наши источники организованы в моей работе (и я верю во многих других местах).
кстати, решение не может явно зависеть от другого решения.
Если вы пытаетесь поделиться кодом между двумя разными типами проектов (т. е.: desktop project и мобильный проект), вы можете посмотреть в общий папку решения. Я должен сделать это для моего текущего проекта, поскольку мобильные и настольные проекты требуют одинаковых классов, которые находятся только в 1 файле. Если вы пройдете этот маршрут, любой из проектов, имеющих файл, может внести в него изменения, и все проекты будут перестроены с учетом этих изменений.
существует очень хороший случай для использования "добавления существующих ссылок на файлы" при повторном использовании кода в проектах, и именно тогда вам нужно ссылаться и поддерживать разные версии зависимых библиотек.
создание нескольких сборок со ссылками на разные внешние сборки нелегко сделать иначе, не дублируя ваш код или не используя трюки с контролем исходного кода.
Я считаю, что проще поддерживать один проект для развития и протестируйте, затем создайте проекты "сборки", используя существующие ссылки на файлы, когда вам нужно создать сборки, ссылающиеся на разные версии этих внешних сборок.
один простой способ включить файл класса одного проекта в другие проекты-это добавить проект в существующее решение, а затем добавить ссылку DLL нового проекта в существующий проект. Наконец, можно использовать методы добавленного класса путем декальринга с помощью директивы в верхней части класса any.
два главных шагов
1-создание библиотеки dll c++
в visual studio
код файла заголовка
эта опция должна быть Динамическая Библиотека(.dll файлы) и создайте решение / проект сейчас.
first_dll.dll файлы файл создается в отладка папка
теперь функция из dll может быть доступна с помощью инструкции ниже в некоторой функции
вы можете разместить внутренний сервер NuGet и совместно использовать общие библиотеки, которые будут совместно использоваться в других проектах внутри и снаружи.
начиная с VisualStudio 2015, Если вы сохраняете весь свой код в одном решении, вы можете поделиться кодом по добавление общего проекта. Затем добавьте ссылку на этот общий проект для каждого проекта, в котором вы хотите использовать код, а также соответствующие директивы using.
теперь вы можете использовать Общий Проект
общий проект-отличный способ совместного использования общего кода в нескольких приложениях, которые мы уже испытали с общим типом проекта в Visual Studio 2013 в рамках разработки универсального приложения Windows 8.1, но с Visual Studio 2015 это автономный новый шаблон проекта; и мы можем использовать его с другими типами приложений, таких как консоль, рабочий стол, телефон, магазин и т. д.. Этот тип проекта чрезвычайно полезен, когда мы хотите поделиться общим кодом, логикой, а также компонентами в нескольких приложениях с одной платформой. Это также позволяет получить доступ к специфичным для платформы API, активам и т. д.
VS Code от Microsoft – легкий и удобный редактор кода, доступный на всех платформах и невероятно гибкий. Это отличный выбор для программирования на Python.
В этой статье мы рассмотрим способы установки и настройки максимально эффективной рабочей среды для разработки.
Статья предназначена для программистов, уже имеющих опыт работы с Python и установивших на свою рабочую машину интерпретатор этого языка программирования (Python 2.7, Python 3.6/3.7, Anaconda или другой дистрибутив).
Установка Python – дело несложное: здесь вы найдете подробное пошаговое руководство для всех популярных ОС. Помните, что в разных операционных системах интерфейс VS Code может немного различаться.
Установка и настройка Visual Studio Code для разработки на Python
Сразу же отметим, что VS Code не имеет практически ничего общего с его знаменитым тезкой Visual Studio.
Редактор очень легко установить на любую платформу: на официальном сайте есть подробные инструкции для Windows, Mac и Linux.
Продукт ежемесячно обновляется и улучшается. В него из коробки встроена поддержка нескольких языков и удобная модель расширения. Пользовательский интерфейс предельно прост и понятен.
VS Code + Python
С 2018 года есть расширение для Python. Наблюдать за развитием отношений этой пары можно в блоге Microsoft.
Основные возможности редактора:
- Поддержка Python 3.4 и выше, а также Python 2.7
- Автоматическое дополнение кода с помощью IntelliSense
- Автоматическое использование conda и виртуальных сред
- Редактирование кода в средах Jupyter и Jupyter Notebooks
А вот пара полезных подборок для прокачки Python-скиллов:
В редакторе есть и полезные фичи, не связанные напрямую с языком:
-
для Atom, Sublime Text, Emacs, Vim, PyCharm и множества других редакторов
- Настраиваемые темы оформления для множества языков, включая русский
И еще несколько крутых возможностей для полного счастья:
-
– множество полезных функций Git прямо в редакторе, включая аннотации blame и просмотр репозитория.
- Автосохранение (File - Auto Save) и удобная настройка его задержки. между различными устройствами с помощью GitHub.
- Удобная работа с Docker.
Чтобы найти и установить необходимые расширения и темы, нажмите на иконку Расширения на левой панели. Можно искать по ключевым словам и сортировать результаты поиска.
Найдите расширение Python и установите его, чтобы продолжить настройку редактора.
Файлы конфигурации
В Visual Studio Code вы легко можете настроить все под себя. Здесь есть параметры пользователя, которые являются глобальными, и параметры рабочей области – локальные для конкретных папок или проектов. Локальные настройки сохраняются в виде .json-файлов в папке .vscode.
Новый проект на Python
Чтобы открыть новый файл, нужно зайти в меню Файл и выбрать пункт Создать или нажать горячую комбинацию клавиш Ctrl+N .
Еще в редакторе есть полезная палитра команд, которую можно вызвать сочетанием Ctrl+Shift+P . Для создания нового файла введите в появившемся поле File: New File и нажмите Enter .
Какой бы способ вы ни выбрали, перед вами должно открыться вот такое окно:
Здесь уже можно вводить код вашей программы.
Начинаем кодить
Для демонстрации возможностей редактора напишем "Решето Эратосфена" – известный алгоритм для нахождения простых чисел до некоторого предела. Начнем кодить:
На экране это будет выглядеть примерно так:
Подождите, что-то не так. Почему-то VS Code не выделяет ключевые слова языка, не дополняет, не форматирует и вообще ничего полезного не делает. Зачем он вообще такой нужен?
Без паники! Просто сейчас редактор не знает, с каким файлом он имеет дело. Смотрите, у него еще нет названия и расширения – только какое-то неопределенное Untitled-1. А в правом нижнем углу написано Plain Text (простой текст).
Установка Python плагина уже произведена, теперь его нужно активировать. Для этого достаточно просто сохранить файл с нужным расширением. Для этого у нас опять же три способа:
- меню: Файл - Сохранить
- горячая комбинация: Ctrl+S
- палитра команд: File: Save File
Дайте файлу имя sieve.py.
Теперь редактор понял, что имеет дело с кодом на Python, и исправился:
Так гораздо лучше! В правом нижнем углу появилась надпись Python, значит все работает правильно.
Если на вашем компьютере установлено несколько интерпретаторов языка (Python 2.7, Python 3.x или Anaconda), вы можете выбирать нужный. Для этого кликните на индикаторе языка (внизу в левой части экрана) или наберите в палитре команд Python: Select Interpreter .
По умолчанию VS Code поддерживает форматирование с использованием pep8, но вы можете выбрать black или yapf, если хотите.
Допишем код алгоритма:
Если вы будете вводить его вручную (без copy-paste), то сможете увидеть IntelliSense редактора в действии.
VS Code автоматически делает отступы перед операторами for и if , добавляет закрывающие скобки и предлагает варианты завершения слов.
Запуск программы
Чтобы запустить готовую программу, нам даже не нужно выходить из редактора! Просто сохраните файл, вызовите правой кнопкой мыши контекстное меню и выберите в нем пункт Выполнить файл в консоли.
Теперь, когда код завершен, его можно запустить. Для этого не нужно выходить из редактора: Visual Studio Code может запускать эту программу непосредственно в Редакторе. Сохраните файл (с помощью Ctrl+S ), затем щелкните правой кнопкой мыши в окне редактора и выберите пункт Запустить файл Python в терминале.
В нижней части окна должна появиться панель терминала с результатом работы программы.
Линтинг кода
- flake8
- mypy
- pydocstyle
- pep8
- prospector
- pyllama
- bandit
Подробные сведения о настройке каждого из них вы можете найти здесь.
Обратите внимание, что линтер настраивается для конкретной рабочей области, а не глобально.
Редактирование существующего проекта
Итак, мы научились создавать новые файлы. Это здорово, но все же большую часть времени вам придется работать с уже существующими проектами, которые состоят из множества отдельных файлов и папок.
С редактором можно работать прямо из консоли, открывая и создавая файлы простой командой code filename.py .
Посмотрим, на что способен VS Code на примере уже готового проекта. Это библиотека для анализа уравнений, основанная на "алгоритме маневровой станции" (shunting-yard algorithm) Дийкстры. Вы можете клонировать этот репозиторий, чтобы начать работу.
Открыть созданную локально папку в редакторе можно из терминала:
VS Code умеет работать с различными средами: virtualenv, pipenv или conda.
Также вы можете открыть папку прямо из интерфейса редактора:
- меню: Файл - Открыть папку
- горячие клавиши: Ctrl+K , Ctrl+O
- из палитры команд: File: Open Folder
Вот так выглядит открытый проект:
По умолчанию при открытии папки VS Code также открывает файлы, с которыми вы работали в последний раз. Это поведение можно изменить.
Теперь вы можете открывать, редактировать, запускать и отлаживать все файлы проекта, перечисленные в левой панели. Над проводником отображаются все файлы, с которыми вы в данный момент работаете.
Тестирование
Грамотное программирование на Python помимо собственно написания кода включает также его тестирование.
Visual Studio Code умеет автоматически распознавать тесты в unittest, pytest или Nose. В нашем проекте есть модульный тест, который можно использовать для примера.
Чтобы запустить существующие тесты, из любого файла Python вызовите правой кнопкой мыши контекстное меню и выберите пункт Запустить текущий тестовый файл.
Нужно будет указать используемый для тестирования фреймворк, путь поиска и шаблон для имени файлов тестов. Эти настройки сохраняются как параметры рабочей области в локальном файле .vscode/settings.json. Для нашего проекта нужно выбрать unittest, текущую папку и шаблон *_test.py.
Теперь можно запустить все тесты, кликнув на Run Tests в строке состояния или из палитры команд.
Также тесты можно выполнять по отдельности, что позволяет экономить много времени, работая только с неудачными методами.
Результаты тестов отображаются во вкладке Output (раздел Python Test Log выпадающего меню).
Посмотрите также:
Отладка кода
Несмотря на то, что VS Code – это просто редактор кода, а не полноценная IDE, он позволяет отлаживать код Python прямо в рабочей области. У него есть много функций, которые должны быть у хорошего отладчика:
- Автоматическое отслеживание переменных
- Отслеживание выражений
- Точки прерывания
- Инспекция стека вызовов
Все эти данные можно найти во вкладке Debug левой панели.
Отладчик может управлять приложениями Python, запущенными во встроенной консоли или внешнем терминале. Он может подключаться к уже запущенным экземплярам Python и даже отлаживать приложения Django и Flask.
Отладить программу на Python так же просто, как запустить отладчик с помощью F5 . Используйте F10 и F11 для перехода к следующей функции и для захода в текущую функцию. Shift+F5 – выход из отладчика. Точки останова задаются с помощью клавиши F9 или щелчком мыши в левом поле окна редактора.
Перед началом отладки более сложных проектов, включая приложения Django или Flask, необходимо настроить и выбрать конфигурацию отладки. Сделать это очень просто. Во вкладке Debug найдите раскрывающееся меню Configuration и нажмите Add Configuration:
VS Code создаст и откроет файл .vscode/launch.json, в котором можно настроить конфигурации Python, а также отладку приложений.
Вы даже можете выполнять удаленную отладку и дебажить шаблоны Jinja и Django. Закройте launch.json и выберите нужную конфигурацию приложения из раскрывающегося списка.
Посмотрите также:
Интеграция с Git
В VS Code прямо из коробки есть встроенная поддержка управления версиями. По умолчанию подключен Git и GitHub, но вы можете установить поддержку других систем. Все работа происходит во вкладке Source Control левого меню:
Если в проекте есть папка .git, весь спектр функций Git/GitHub включается автоматически. Вы можете:
Все эти функции доступны прямо из пользовательского интерфейса:
VS Code также распознает изменения, внесенные вне редактора.
Visual Studio Code + Python = довольный разработчик
Visual Studio Code – один из самых крутых редакторов кода и замечательный инструмент для разработки. Редактор из коробки предлагает множество полезных возможностей и гибко подстраивается под все ваши потребности. Программирование на Python становится проще и эффективнее.
А какой редактор (или полноценную IDE) для разработки на Python используете вы?
Интеграция Git с Visual Studio Code
В веб-разработке Visual Studio Code (VS Code) стал одним из самых популярных редакторов. Он приобрел такую популярность благодаря множеству встроенных функций, среди которых есть и интеграция системы управления версиями Git. Использование Git через VS Code может сделать ваш рабочий процесс более эффективным и надежным.
В этом мануале мы расскажем, как использовать интеграцию системы управления версиями Git в VS Code.
Требования
- Установка Git (инструкции вы найдете в мануале Разработка проектов с открытым исходным кодом: начало работы с Git).
- Последняя версия Visual Studio Code.
1: Вкладка Source Control
Откройте Visual Studio Code и запустите встроенный терминал. Вы можете открыть его с помощью сочетания клавиш CTRL+` (в Linux, macOS или Windows).
В терминале создайте каталог для нового проекта и перейдите в него:
Затем создайте репозиторий Git:
Есть и другой способ сделать это в Visual Studio Code: в левой панели нужно открыть вкладку Source Control (значок выглядит как развилка). Затем выберите Open Folder – и в текущем каталоге откроется файловый менеджер. Выберите нужный каталог проекта и нажмите Open.
Затем выберите Initialize Repository.
После этого проверьте свою файловую систему, и вы увидите, что она включает каталог .git. Чтобы убедиться в этом, с помощью терминала перейдите в каталог проекта и запросите все его содержимое:
Вы увидите созданный каталог .git:
После инициализации репозитория создайте файл index.html.
После этого в панели Source Control вы увидите новый файл с буквой U рядом с ним. Символ U означает, что файл неотслеживаемый (untracked) – этот новый или отредактированный файл еще не добавлен в репозиторий.
Теперь вы можете нажать кнопку с плюсом (+) рядом с файлом index.html, чтобы отслеживать файл по репозиторию.
После добавления файла в репозиторий буква U рядом с файлом изменится на A. Символ A (added) представляет новый файл, который был добавлен в репозиторий.
После этого вы увидите, что у вас нет изменений, ожидающих проверки и сохранения.
Затем добавьте немного кода в файл index.html.
Для создания скелета HTML5 в VS Code можно использовать плагин Emmet, нажав клавиши !+Tab. Добавьте что-нибудь в <body>, например, заголовок <h1>, и сохраните его.
В панели Source Control вы увидите, что ваш файл изменился. Рядом с ним будет отображаться буква M (modified), которая указывает на отредактированный файл
Это изменение можно также сохранить через коммит.
Теперь, когда вы знакомы с панелью Source Control, мы можем переходить к индикаторам gutter.
2: Интерпретация индикаторов gutter
На этом этапе мы рассмотрим индикаторы gutter, или индикаторы желоба. Желоб – это узкая область, которая находится между индикатором строк и кодом.
Если ранее вы использовали сворачивание кода, то знаете, что значки разворачивания и сворачивания кода расположены именно в области желоба.
Начнем с внесения небольших изменений в файл index.html – можно, например, изменить контент в теге <h1>. После этого вы увидите синюю вертикальную метку в желобе напротив измененной строки. Вертикальная синяя метка означает, что соответствующая строка кода была отредактирована.
Теперь попробуйте удалить одну из строк в разделе <body> вашего файла index.html. Обратите внимание на красный треугольник в желобе. Красный треугольник указывает на строку или группу строк, которые были удалены.
Теперь перейдите к нижней части раздела <body> и добавьте туда новую строку кода. Обратите внимание на вертикальную зеленую полосу – она указывает на добавленную строку кода.
3: Определение отличий между версиями файла
VS Code также может сравнивать версии кода. Как правило, для этого нужно загружать специальный инструмент, но в VS Code есть встроенная функция, и она поможет вам работать более эффективно.
Чтобы просмотреть отличия между версиями файла, откройте панель управления исходным кодом Source Control и дважды кликните на измененный файл. В нашем случае нужно дважды кликнуть на файл index.html. На экране появится сравнение текущей версии файла (слева) и его предыдущей версии (справа).
4: Работа с ветками
В нижней панели вы можете создавать и переключать ветки. Если вы посмотрите в самый нижний левый угол редактора, вы увидите значок управления версиями (он выглядит как развилка), рядом с которым будет указано имя текущей рабочей ветки (например, master).
Чтобы создать нову ветку, кликните на имя текущей ветки. На экране должно появиться меню, дающее вам возможность создать новую ветку.
Для примера создайте новую ветку под названием test.
Теперь внесите изменения в свой файл index.html, чтобы обозначить, что вы находитесь в новой ветке: например добавьте текст «this is the new test branch».
Сохраните эти изменения в ветке test с помощью коммита. Затем снова кликните на имя ветки в левом нижнем углу, чтобы вернуться к ветке master.
После переключения на ветку master вы заметите, что текст «this is the new test branch», сохраненный в ветке test, не присутствует в вашем файле.
5: Работа с удаленными репозиториями
В этом руководстве мы не будем подробно останавливаться на удаленных репозиториях.
С помощью панели управления Source Control у вас есть доступ к удаленным репозиториям. Если вы работали с такими репозиториями ранее, вы найдете здесь знакомые команды, такие как pull, sync, publish, stash и т.п.
6: Установка расширений
VS Code не только предоставляет множество встроенных функций для Git, но также позволяет установить несколько очень популярных расширений для расширения набора функций.
Git Blame
Расширение Git Blame предоставляет возможность просматривать информацию состояния для текущей выбранной строки.
Название этого расширения может прозвучать пугающе, но Git Blame не предполагает, что вы будете буквально винить или стыдить кого-то в изменении кода: практичность расширения заключается в том, что оно позволяет выяснить, кому можно задать вопросы по определенным фрагментам кода.
Git History
Просматривать текущие изменения, отслеживать разницу между версиями и управлять ветками можно и с помощью встроенных функций VS Code, однако они не предоставляют подробной истории Git. Расширение Git History решает эту проблему.
Это расширение позволяет тщательно изучить историю файла, автора, ветки. Чтобы активировать окно Git History, нужно кликнуть на файл правой кнопкой мыши и выбрать Git: View File History.
Кроме того, вы можете сравнивать ветки и коммиты, создавать ветки из коммитов и многое другое.
Git Lens
Git Lens расширяет возможности Git, встроенные в Visual Studio Code. Этот плагин помогает с первого взгляда определить авторство кода с помощью аннотаций Git blame и линзы кода, перемещаться по репозиториям Git и исследовать их, получать ценную информацию с помощью команд сравнения и многое другое.
Расширение Git Lens – одно из самых популярных и мощных. В большинстве случаев его функциональность может заменить каждое из двух предыдущих расширений.
Это расширение предоставляет множество функций, позволяющих получить историю Git, в том числе легкий доступ к множеству опций (отображение истории файлов, просмотр различий между версиями и многое другое). Чтобы открыть эти параметры, вы можете кликнуть на текст в строке состояния (он содержит информацию об авторе, который редактировал строку кода, и о времени последней редакции).
Это расширение обладает множеством функций, и вам, вероятно, потребуется время, чтобы разобраться со всеми ними.
Заключение
В этом мануале вы узнали, как использовать интеграцию системы управления версиями Git с VS Code.
VS Code «из коробки» предлагает многие функции, для которых ранее требовалась загрузка отдельного инструмента.
БлогNot. Как собрать проект C++ с github из исходников и подключить его к Visual Studio
Как собрать проект C++ с github из исходников и подключить его к Visual Studio
Благодаря менеджеру пакетов winget, уже входящему в актуальные сборки масдайки, теперь в Windows 10 можно инсталлировать приложения одной простой консольной командой (см. также доку от Микрософта).
Но мы рассмотрим сейчас ситуацию, когда у нас есть только ссылка на исходники проекта, скажем, на Гитхабе (возьмём для примера библиотеку для простых чисел primesieve) и нужно каким-то образом скомпилировать внешний проект в своей Studio, чтобы воспользоваться его возможностями в своём приложении.
В противном случае, конечно же, нестандартный include вроде этого, который вы нашли в коде-образце
работать не будет ни за что.
Первым делом скачаем все исходники внешнего проекта "как есть" в архиве .zip, для этого у нас на гитхабе есть кнопка "Download ZIP":
Как загрузить проект с github в архиве .zip
Развернём проект, не создавая новой папки, если у вашего архиватора нет такого же пункта меню, просто сотрите предлагаемое архиватором имя новой папки, потому что папка уже есть в архиве:
Извлечь внешний проект из архива, не создавая новой папки
Если покопаться в файле readme.md проекта, как правило, можно найти инструкцию по установке (Build instructions) и даже "Detailed build instructions", где говорится, в числе прочего, и о компиляции проекта под Microsoft Visual C++:
Команды cmake для компиляции проекта со страницы документации
Откроем свой "некомпилируемый" без нужной библиотеки проект в Studio (я использую актуальную сборку версии 2019) и обратимся к команде меню Вид - Терминал. Выберем инструмент "Командная строка разработчика" (по умолчанию в новых сборках теперь выбран PowerShell, впрочем, если в документации приведены команды PowerShell, то применяйте их).
У Микрософта инструмент описан вот здесь.
Командная строка разработчика в Studio
В командной строке пишем команды из документации, но сначала, конечно, нужно перейти в ту папку, где у вас развёрнут скачанный проект. Мне понадобилось ввести в консоли следующее, завершая каждую команду нажатием Enter:
- теперь я в нужной папке, так как развернул свой архив в папку d:\temp
Далее как написано:
Можно просто копировать команды со страницы документации, в окне консоли вверху есть стандартная кнопочка "Вставить". А вот точка в записи команд имеет значение, это ссылка на текущую папку!
Ну и, конечно, для другой версии Studio будет другое указание компилятора, узнать своё можно командой
Нужный генератор будет помечен в списке "звёздочкой".
Теперь проект можно открывать в Studio и работать с ним, все нужные файлы есть в папке d:\temp\primesieve-master
Но мы хотим подключить всё, что нужно, к своему имеющемуся проекту, а не пытаться модифицировать чужую библиотеку.
- Меню Проект - Свойства, слева выбираем Свойства конфигурации, C/C++, Общие, раскрываем поле "Дополнительные каталоги включаемых файлов", говорим "Изменить" и показываем на папку D:\Temp\primesieve-master\include . В вашем проекте, как правило, тоже будет вложенная папка include .
- В том же окне выбираем Компоновщик - Общие - Дополнительные каталоги библиотек, "Изменить" и добавляем путь D:\Temp\primesieve-master\Release . Этого может оказаться мало, у вашего проекта и внешнего должны быть выбраны одинаковые конфигурации решения. Так как я выбрал Release для внешнего проекта, то и в своём проекте в списке "Конфигурации решения" (на стандартной панели инструментов) указал Release и платформу x64. Можно было работать и с Debug, но тогда и внешний проект компилируем как Debug и потом выбираем путь D:\Temp\primesieve-master\Debug .
- В списке C/C++ - Создание кода - Библиотека времени выполнения выбрал Многопоточный DLL (/MD), иначе будет "LNK2038: обнаружено несоответствие для 'RuntimeLibrary': значение 'MT_StaticRelease' не соответствует значению 'MD_DynamicRelease' в file.obj".
- Сам файл библиотеки, как правило имеющий тип .lib , тоже нужно прописать. Всё в том же окне свойства проекта выбираем список Компоновщик - Ввод, раскрываем список "Дополнительные зависимости", жмём "Изменить" и указываем в поле ввода имя файла библиотеки primesieve.lib
- На всякий случай, проверяем, что у нас в списке Компоновщик - Система - Подсистема, у меня там просто Консоль (/SUBSYSTEM:CONSOLE) , для других типов проектов может понадобиться изменение и этой настройки.
После этого у меня всё заработало.
Ну а конкретная задача, на которой я проверял библиотеку - печать самых длинных цепочек последовательных простых чисел, в которых разница между соседними значениями строго возрастает или строго убывает, предел счёта равен 1000000, вот сама программа:
Ответы вышли такие:
За счёт хорошо оптимизированного кода библиотеки считается всё мгновенно.
Читайте также: