- Общие сведения о Visual Studio 2019 для Mac
- Возможности Visual Studio для Mac
- Общие сведения об интегрированной среде разработки
- Начало работы
- Проекты и решения
- Окно решения
- Ссылки на сборки
- Зависимости и пакеты
- Редактор исходного кода
- Refactoring
- Отладка
- Управление версиями
- Установка и настройка средств для разработки с помощью iOS
- Предварительные требования
- Установка удаленного агента для iOS
- Скачивание и установка удаленного агента
- Запуск удаленного агента
- Запуск удаленного агента
- Отключение режима защищенного соединения
- Включение режима защищенного соединения
- Остановка удаленного агента
- Настройка удаленного агента в Visual Studio
- Настройка удаленного агента из Visual Studio
- Создание нового ПИН-кода безопасности
- Создание ПИН-кода
- Создание нового сертификата сервера
- Создание сертификата сервера
- Настройка удаленного агента на компьютере Mac
- Настройка удаленного агента
- Устранение неполадок удаленного агента
- Отладка на устройстве с iOS
Общие сведения о Visual Studio 2019 для Mac
Visual Studio для Mac — это интегрированная среда разработки .NET на Mac, которая позволяет редактировать, отлаживать и создавать код, а затем публиковать приложения. Наряду с редактором кода и отладчиком Visual Studio для Mac включает компиляторы, средства выполнения кода, графические конструкторы и систему управления версиями для упрощения процесса разработки программного обеспечения.
Visual Studio для Mac поддерживает многие из типов файлов, поддерживаемых его аналогом для Windows, например файлы .csproj , .fsproj или .sln , а также такие функции, как EditorConfig, поэтому вы можете использовать IDE по вашему выбору. Создание, открытие и разработка приложения не вызовут вопросов у людей, которые ранее работали с Visual Studio в Windows. Кроме того, Visual Studio для Mac содержит множество эффективных средств, присутствующих и в аналоге для Windows, например многофункциональную интегрированную среду разработки. Платформа компилятора Roslyn используется для рефакторинга и работы с IntelliSense. Ее система проектов и подсистема сборки используют MSBuild, а ее редактор исходного кода использует те же базовые технологии, что и Visual Studio в Windows. Она использует одинаковые подсистемы отладчика для приложений Xamarin и .NET Core и одинаковые конструкторы для Xamarin.iOS и Xamarin.Android.
Возможности Visual Studio для Mac
Visual Studio для Mac поддерживает следующие типы разработки:
- Веб-приложения ASP.NET Core с C#, F# и поддержкой страниц Razor, JavaScript и TypeScript
- Консольные приложения .NET Core с C# или F#
- Кроссплатформенные игры и приложения Unity с C#
- Приложения Android, iOS, tvOS и watchOS в Xamarin с C# или F# и XAML
- Классические приложения Cocoa на C# или F#
В этой статье рассматриваются различные разделы Visual Studio для Mac и некоторые компоненты, обеспечивающие эффективное создание этих приложений.
Общие сведения об интегрированной среде разработки
Система Visual Studio для Mac организована в виде нескольких разделов для управления параметрами и файлами приложений, создания кода приложений и отладки.
Начало работы
При первом запуске Visual Studio для Mac 2019 новые пользователи увидят окно входа. Войдите с учетной записью Майкрософт, чтобы активировать платную лицензию (если она у вас есть) или связать ее с подписками Azure. Можно нажать кнопку Я сделаю это позже и войти в систему позднее с помощью пункта меню Visual Studio > Вход:
Вы получите возможность настроить интегрированную среду разработки, выбрав предпочтительные сочетания клавиш: Visual Studio для Mac, Visual Studio, Visual Studio Code или Xcode:
После выполнения начальной настройки вы будете видеть окно запуска при каждом открытии Visual Studio 2019 для Mac. В окне отображается список последних проектов, а также кнопки для открытия существующего проекта или создания нового.
Проекты и решения
На следующем изображении показана система Visual Studio для Mac с загруженным приложением:
В следующих подразделах представлены общие сведения о ключевых областях Visual Studio для Mac.
Окно решения
Окно решения позволяет упорядочить проекты в решении.
Здесь файлы исходного кода, ресурсы, пользовательский интерфейс и зависимости упорядочиваются в проекты под конкретные платформы.
Дополнительные сведения об использовании проектов и решений в Visual Studio для Mac см. в статье Проекты и решения.
Ссылки на сборки
Ссылки на сборки для каждого проекта доступны в папке ссылок.
Ссылки можно добавить с помощью диалогового окна Изменить ссылки, которое отобразится, если дважды щелкнуть папку ссылок или выбрать пункт Изменить ссылки в ее контекстном меню:
Дополнительные сведения об использовании ссылок в Visual Studio для Mac см. в статье Управление ссылками в проекте.
Зависимости и пакеты
Все внешние зависимости, применяемые в вашем приложении, сохраняются в папке с зависимостями или пакетами с учетом используемого проекта: .NET Core, Xamarin.iOS или Xamarin.Android. Обычно они предоставляются в виде пакета NuGet.
NuGet — это наиболее популярный диспетчер пакетов для разработки .NET. Благодаря поддержке NuGet в Visual Studio вы можете легко находить пакеты и добавлять их в проект для приложения.
Чтобы добавить зависимость в приложение, щелкните правой кнопкой мыши папку «Зависимости» или «Пакеты» и выберите пункт Добавить пакеты:
Сведения об использовании пакета NuGet в приложении см. в статье Включение пакета NuGet в проект.
Редактор исходного кода
Независимо от того, пишете ли вы код на C#, XAML или JavaScript, редактор кода использует те же основные компоненты, что и Visual Studio для Windows, но при этом имеет собственный пользовательский интерфейс.
Вот некоторые его возможности:
- Собственный интерфейс пользователя macOS на основе Cocoa (всплывающие подсказки, поверхности редактора, крайние элементы полей, визуализация текста, IntelliSense)
- фильтрация IntelliSense по типам и отображение элементов импорта;
- Поддержка собственного текстового ввода
- Поддержка языка RTL/BiDi
- Roslyn 3
- Поддержка нескольких точек вставки
- Перенос по словам
- обновленный пользовательский интерфейс IntelliSense;
- улучшенные поиск и замена;
- поддержка фрагментов кода;
- форматирование выделенного фрагмента;
- встроенные лампочки.
Дополнительные сведения об использовании редактора исходного кода в Visual Studio для Mac см. в документации по редактору исходного кода.
Чтобы вкладки отображались постоянно, их можно закрепить. Благодаря этому при каждом запуске проекта всегда будут отображаться необходимые вкладки. Чтобы закрепить вкладку, наведите на нее указатель и щелкните значок булавки:
Refactoring
Visual Studio для Mac предоставляет два удобных способа выполнить рефакторинг кода: анализ источника и контекстные действия. Подробнее о них вы можете прочитать в статье Рефакторинг.
Отладка
Visual Studio для Mac содержит отладчики, поддерживающие проекты .NET Core, .NET Framework, Unity и Xamarin. Visual Studio для Mac использует отладчик .NET Core и Mono Soft Debugger, что позволяет интегрированной среде разработки отлаживать управляемый код на всех платформах. Дополнительные сведения об отладке см. в статье Отладка с помощью Xamarin.
Отладчик содержит полнофункциональные визуализаторы для специальных типов, таких как строки, цвета, URL-адреса, а также размеры, координаты и кривые Безье.
Управление версиями
Visual Studio для Mac интегрируется с системами управления версиями Git и Subversion. Проекты, включенные в управление версиями, обозначаются ветвью, указанной рядом с именем решения:
Файлы с незафиксированными изменениями имеют заметку на значках в окне решения, как показано на следующем изображении:
Дополнительные сведения об управлении версиями в Visual Studio см. в статье Управление версиями.
Источник
Установка и настройка средств для разработки с помощью iOS
Вы можете использовать Visual Studio с кросс-платформенными средствами для разработки мобильных приложений на языке C++ для редактирования, отладки и развертывания кода iOS на симуляторе или устройстве iOS. Но, из-за лицензионных ограничений, код нужно создавать и выполнять на компьютере Mac удаленно. Для сборки и запуска приложений iOS с помощью Visual Studio необходимо установить и настроить удаленный агент vcremoteна компьютере Mac. Удаленный агент обрабатывает запросы на сборку, поступающие из Visual Studio, и запускает приложение на устройстве iOS, подключенном к компьютеру Mac, или в эмуляторе iOS на компьютере Mac.
Сведения об использовании размещенных в облаке служб Mac вместо компьютера Mac см. в разделе Настройка подключения Visual Studio к размещенному в облаке компьютеру Mac. Приведенные инструкции предназначены для разработки с помощью инструментов Visual Studio для Apache Cordova. Чтобы использовать инструкции для сборки с помощью С++, замените vcremote на remotebuild .
После установки инструментов для сборки с помощью iOS, обратитесь к этой статье, чтобы получить дополнительные сведения о способах быстрой настройки и обновления удаленного агента для разработки iOS в Visual Studio и на вашем Mac.
Предварительные требования
Для установки и использования удаленного агента с целью разработки кода для iOS необходимы следующие компоненты:
Компьютер Mac с операционной системой macOS Mojave (версии 10.14) или более поздней версии.
Действующая учетная запись разработчика Apple.
Вы можете получить бесплатную учетную запись, которая позволяет загружать неопубликованные приложения на устройстве с iOS для тестирования, но не для распространения.
Xcode версии 10.2.1 или более поздней.
Xcode можно скачать в магазине App Store.
Средства командной строки Xcode
Чтобы установить средства командной строки Xcode, откройте приложение «Терминал» на компьютере Mac и введите следующую команду:
Учетная запись Apple ID, настроенная в Xcode, как удостоверение для подписи приложений.
Чтобы просмотреть или задать удостоверение подписывания в Xcode, откройте меню Xcode и выберите пункт Preferences(Настройки). Щелкните Accounts (Учетные записи), выберите свой идентификатор Apple ID, а затем нажмите кнопку View Details (Просмотреть подробности). См. подробные инструкции в разделе Добавление вашей учетной записи Apple ID.
Подробные сведения о требованиях для подписывания см. в разделе Что такое подписывание приложений.
Профиль подготовки, настроенный в Xcode для вашего устройства, если для разработки вы используете устройство с iOS.
Xcode обеспечивает автоматическое подписывание, создавая сертификаты для подписи при необходимости. Подробные сведения об автоматическом подписывании Xcode см. в разделе Автоматическое подписывание.
Если вы предпочитаете ручное подписывание, необходимо создать профиль подготовки для вашего приложения. Подробные сведения о создании профилей подготовки см. в статье Создание профилей подготовки для разработки.
Node.js 12.14.1 и npm версии 6.13.4
Установите версию Node.js 12.14.1 на своем компьютере Mac. Если вы установите пакет Node.js, он должен сопровождаться npm версии 6.13.4. Другие версии Node.js и npm могут не поддерживать некоторые модули, используемые в удаленном агенте vcremote , что может привести к сбою установки vcremote . Рекомендуется установить Node.js с помощью диспетчера пакетов, например Node Version Manager. Старайтесь не использовать команду sudo для установки Node.js, так как некоторые модули могут не устанавливаться при использовании sudo .
Установка удаленного агента для iOS
При установке мобильной разработки с рабочей нагрузкой C++, Visual Studio может взаимодействовать с удаленным агентом vcremote, запущенным на вашем Mac для передачи файлов, сборки и запуска вашего iOS приложения, а также отправки команд отладки.
Перед установкой удаленного агента убедитесь, что вы выполнили Предпосылки и шаги установки в разделе Установка Visual C++ для разработки кроссплатформенных мобильных приложений на языке C++.
Скачивание и установка удаленного агента
В приложении терминала на компьютере Mac убедитесь, что используемая версия Node.js является обязательной версией 12.14.1. Чтобы проверить версию, выполните команду:
Если это неправильная версия, возможно, потребуется выполнить инструкции по установке Node.js, приведенные в предварительных требованиях. Затем перезапустите Node.js.
Убедившись, что используется необходимая версия Node.js, выполните следующую команду, чтобы установить vcremote в этой версии Node.js:
npm install -g —unsafe-perm vcremote
Рекомендуется применять глобальный параметр установки (-g), но он не является обязательным. Если вы не используете параметр глобальной установки, vcremote устанавливается по текущему активному пути в приложении терминала.
В ходе установки будет установлен vcremote , а на компьютере Mac будет активирован режим разработчика. Также будут установлены Homebrew и два пакета npm, и vcremote-utils . После завершения установки можно игнорировать любые предупреждения о пропущенных необязательных зависимостях.
Для установки Homebrew требуется доступ sudo (права администратора). Если вам нужно установить vcremote без доступа «sudo», вы можете установить Homebrew вручную в папку «usr/local» и добавить папку «bin» в ваш путь. Дополнительную информацию см. в документации по Homebrew. Чтобы включить режим разработчика вручную, введите в приложении «Терминал» следующую команду: DevToolsSecurity -enable
Если Visual Studio обновляется до новой версии, то также необходимо обновить удаленный агент до текущей версии. Чтобы обновить удаленный агент, еще раз выполните инструкции по его скачиванию и установке.
Запуск удаленного агента
Чтобы среда Visual Studio могла выполнять сборку и запуск кода iOS, удаленный агент должен быть запущен. Для обмена данными с удаленным агентом среда Visual Studio должна быть сопряжена с ним. По умолчанию удаленный агент выполняется в режиме защищенного соединения, что требует ввода ПИН-кода для его сопряжения с Visual Studio.
Запуск удаленного агента
В приложении «Терминал» на компьютере Mac введите следующую команду:
Эта команда запускает удаленный агент со стандартным каталогом сборки
/vcremote . Дополнительные параметры конфигурации см. в разделе Configure the remote agent on the Mac.
При первом запуске агента, и каждый раз, когда вы создаете новый сертификат клиента, вам предоставляется необходимая информация для настройки агента в Visual Studio, включая имя узла, порт и PIN-код.
Если вы намерены настроить удаленный агент в Visual Studio, используя имя узла, выполните проверку связи с компьютером Mac из Windows, используя это имя узла, чтобы убедиться в том, что он доступен. В противном случае может потребоваться использовать вместо имени узла IP-адрес.
Созданный ПИН-код является одноразовым и действителен в течение ограниченного срока. Если не выполнить сопряжение Visual Studio с удаленным агентом до истечения его срока действия, потребуется создать новый ПИН-код. Для получения дополнительной информации см. Generate a new security PIN.
Удаленный агент можно использовать в небезопасном режиме. В небезопасном режиме сопряжение удаленного агента с Visual Studio можно выполнить без ПИН-кода.
Отключение режима защищенного соединения
Чтобы отключить режим защищенного соединения в vcremote , введите эту команду в приложение «Терминал» на компьютере Mac:
vcremote —secure false
Включение режима защищенного соединения
Чтобы включить режим защищенного соединения, введите следующую команду:
vcremote —secure true
После запуска удаленного агента его можно использовать из Visual Studio, пока он не будет остановлен.
Остановка удаленного агента
- В окне терминала vcremote под управлением введите vcremote ++.
Настройка удаленного агента в Visual Studio
Чтобы подключиться к удаленному агенту из Visual Studio, нужно задать удаленную конфигурацию в параметрах Visual Studio.
Настройка удаленного агента из Visual Studio
Если агент еще не запущен на компьютере Mac, выполните инструкции в разделе Запуск удаленного агента. Чтобы среда Visual Studio могла успешно выполнить сопряжение, подключение и сборку проекта, на компьютере Mac должен быть запущен vcremote .
На компьютере Mac получите имя узла или IP-адрес компьютера Mac.
IP-адрес можно получить с помощью команды ifconfig в окне «Терминал». Используйте адрес inet, указанный под активным сетевым интерфейсом.
В строке меню Visual Studio выберите Сервис, Параметры.
В диалоговом окне Параметры разверните узлы Кроссплатформенный, C++и iOS.
В полях Имя узла и Порт введите значения, полученные при запуске удаленного агента. Именем узла может быть DNS-имя или IP-адрес компьютера Mac. Порт по умолчанию — 3030.
Если не удается проверить связь с компьютером Mac, используя имя узла, возможно, потребуется использовать IP-адрес.
Если вы используете удаленный агент в режиме защищенного соединения по умолчанию, установите флажок Безопасный , а затем введите ПИН-код, предоставленный удаленным агентом, в поле ПИН-код . Если вы используете удаленный агент в небезопасном режиме, снимите флажок Безопасный и оставьте поле ПИН-код пустым.
Выберите Связать, чтобы активировать сопряжение.
Сопряжение сохраняется до тех пор, пока не изменится имя узла или порт. Если вы изменили имя узла или порт в диалоговом окне Параметры , для отмены изменения нажмите кнопку Восстановить , чтобы восстановить прежнее сопряжение.
Если выполнить сопряжение не удается, проверьте, запущен ли удаленный агент, выполнив инструкции в разделе Start the remote agent. Если с момента создания ПИН-кода удаленным агентом прошло слишком много времени, выполните инструкции, приведенные в разделе Generate a new security PIN , на компьютере Mac и повторите попытку. Если вы используете имя узла компьютера Mac, попробуйте вместо этого указать IP-адрес в поле Имя узла .
Обновите имя папки в поле Удаленный корневой элемент, указав папку, используемую удаленным агентом, в домашнем каталоге ( ) на компьютере Mac. По умолчанию удаленный агент использует /Users/ /vcremote в качестве удаленного корневого элемента.
Чтобы сохранить параметры удаленного сопряжения, нажмите кнопку ОК .
При каждом использовании Visual Studio применяется одна и та же информация для подключения к удаленному агенту на компьютере Mac. Повторно сопрягать Visual Studio с удаленным агентом требуется только в том случае, если вы создали новый сертификат безопасности на компьютере Mac либо если изменилось его имя узла или IP-адрес.
Создание нового ПИН-кода безопасности
При первоначальном запуске удаленного агента созданный ПИН-код действует в течение ограниченного времени (по умолчанию 10 минут). Если не выполнить сопряжение Visual Studio с удаленным агентом до истечения этого срока, потребуется создать новый ПИН-код.
Создание ПИН-кода
Остановите агент (или откройте второе окно приложения «Терминал» на компьютере Mac и используйте его для ввода команды).
В приложении «Терминал» введите следующую команду:
Удаленный агент создаст новый временный ПИН-код. Для сопряжения Visual Studio с помощью нового ПИН-кода повторно выполните инструкции, приведенные в разделе Настройка удаленного агента в Visual Studio.
Создание нового сертификата сервера
В целях безопасности сертификаты серверов, которые сопрягают Visual Studio с удаленным агентом, привязаны к имени узла или IP-адресу компьютера Mac. Если эти значения меняются, вам потребуется создать новый сертификат сервера, а затем изменить конфигурацию Visual Studio, используя новые значения.
Создание сертификата сервера
Остановите агент vcremote .
В приложении «Терминал» введите следующую команду:
При появлении запроса на подтверждение введите Y .
В приложении «Терминал» введите следующую команду:
Эта команда создает новый временный ПИН-код.
Для сопряжения Visual Studio с помощью нового ПИН-кода повторно выполните инструкции, приведенные в разделе Настройка удаленного агента в Visual Studio.
Настройка удаленного агента на компьютере Mac
Удаленный агент можно настроить, используя различные параметры командной строки. Например, можно задать порт для прослушивания запросов на построение и указать максимальное количество сборок, которые нужно поддерживать в файловой системе. По умолчанию это значение равно 10. Удаленный агент будет удалять сборки, которые выходят за максимальное число, при завершении работы.
Настройка удаленного агента
Чтобы просмотреть полный список команд удаленного агента, в приложении «Терминал» введите следующую команду:
Чтобы отключить безопасный режим и включить обычные подключения на основе HTTP, введите следующую команду:
vcremote —secure false
В этом случае снимите флажок Безопасный и оставьте поле ПИН-код пустым при настройке агента в Visual Studio.
Чтобы указать расположение для файлов удаленного агента, введите следующую команду:
vcremote —serverDir directory_path
Здесь путь_к_каталогу — это расположение на компьютере Mac, где будут храниться файлы журналов, сборки и сертификаты серверов. По умолчанию, это расположение /Users/ /vcremote . В этой папке сборки упорядочиваются по номеру сборки.
Для использования фонового процесса с целью записи stdout и stderr в файл server.log введите следующую команду:
vcremote > server.log 2>&1 &
Файл server.log может помочь при устранении проблем со сборками.
Для запуска агента с помощью файла конфигурации, а не параметров командной строки, введите следующую команду:
vcremote —config config_file_path
Здесь путь_к_файлу_конфигурации — это путь к файлу конфигурации в формате JSON. Параметры запуска и их значения не должны содержать дефисы.
Устранение неполадок удаленного агента
Отладка на устройстве с iOS
Если отладка на устройстве с iOS не работает, то могут возникнуть проблемы при использовании средства ideviceinstaller, которое используется для взаимодействия с устройством с iOS. Этот инструмент обычно устанавливается с Homebrew во время установки vcremote . Выполните следующие шаги в качестве обходного решения.
Откройте приложение «Терминал» и обновите ideviceinstaller и его зависимости, выполнив следующие команды по порядку:
Убедитесь, что Homebrew обновлен
Удалите libimobiledevice и usbmuxd
brew uninstall —ignore-dependencies libimobiledevice
brew uninstall —ignore-dependencies usbmuxd
Установите последнюю версию libimobiledevice и usbmuxd
brew install —HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install —HEAD libimobiledevice
Удалите и переустановите ideviceinstaller
brew uninstall ideviceinstaller
brew install ideviceinstaller
Убедитесь, что ideviceinstaller может взаимодействовать с устройством, перечислив приложения, установленные на устройстве:
Если ideviceinstaller сообщает, что доступа к папке /var/db/lockdown нет, измените права папки:
sudo chmod 777 /var/db/lockdown
Затем еще раз проверьте, может ли ideviceinstaller взаимодействовать с устройством.
Источник