Малоизвестные возможности расширения VS Code Swift

18 ноября 2022

Большую часть этого года я работал над расширением Swift для Visual Studio Code. Работа является частью Swift Server Workgroup, направленной на улучшение опыта разработки на Swift за пределами экосистемы Apple. В июле я разместил статью на веб-сайте swift.org с обзором расширения и предоставляемых им функций. Учитывая, что это был общий обзор, ряд более мелких функций не был включен в эту статью. Ниже приведен список некоторых из них, а также некоторые новые функции, которые были добавлены с момента написания исходной статьи.

 

Локальное редактирование пакетов


Расширение предоставляет возможность заменить зависимость пакета локально отредактированной версией этой зависимости через контекстное меню в представлении зависимостей пакета. Щелкните правой кнопкой мыши на зависимость, которую вы хотите заменить, и выберите Use Local Version. Появится диалоговое окно файла. Выберите папку для локальной версии зависимости, и теперь вы будете использовать эту версию. Если вы хотите отредактировать код в локальной версии, снова щелкните правой кнопкой мыши на зависимость и выберите Add to Workspace. Это добавит пакет в вашу рабочую область. Чтобы вернуться к использованию исходной версии зависимости, откройте пункт контекстного меню Revert to Original Version.


Я бы включил это в оригинальную статью на swift.org, но в Swift 5.6 эта функция немного ненадежна. Иногда состояние редактирования изменялось без участия пользователя. Эта проблема была решена в Swift 5.7.

 

Команды


Расширение VS Code Swift добавляет ряд команд, связанных со Swift. Чтобы открыть список команд, нажмите Cmd+Shift+P (Ctrl+Shift+P в Linux). Затем введите «swift» в строке фильтра вверху. Это отобразит список команд, доступных вам с учетом текущего контекста. Некоторые команды доступны только в определенных ситуациях.

 

Запуск скриптов Swift


Команда Run Swift Script будет использовать содержимое текущего редактора, находящегося в фокусе, и запускать его как сценарий Swift. Нет необходимости иметь файл, который резервирует содержимое редактора. Это означает, что вы можете открыть новый файл, установить для него тип Swift и работать с его содержимым так, как будто это Swift Playground. Благодаря этому вы можете быстро и легко протестировать новые функции Swift или, возможно, напомнить себе, как работает API. Скрипты Swift ограничены только импортом фреймворков, которые поставляются с вашей установкой Swift, например Foundation.

 

Запуск/отладка Swift Snippet


Swift Snippet — это новая функция Swift 5.7. Представляют собой отдельные файлы Swift, предназначенные для демонстрации функций пакета Swift. Их можно использовать для отображения кода, который будет отображаться в документации, или для завершения примеров проектов. Расширение предоставляет две функции для обеспечения правильной работы snippet. Run Swift Snippet запустит snippet и отобразит его вывод в терминале, а Debug Swift Snippet запустит snippet в отладчике. Обе эти команды, включая Run Swift Script, доступны через подменю контекстного меню редактора «Swift».

 

Выберите «Установить Xcode».


В macOS Visual Studio Code получает набор инструментов Swift/SDK из вашей установки Xcode. По умолчанию он будет использовать цепочку инструментов, включенную в вашу активную установку Xcode, то есть ту, которая была возвращена из xcode-select -p. Если вы хотите использовать цепочку инструментов из другой установки Xcode, есть команда Select Xcode Developer Dir. Она отобразит список всех установок Xcode в вашей системе. Выбор одного из них установит набор инструментов для вашей текущей рабочей области.

 

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


Документирование вашего кода важно, и существует стандартный метод предоставления встроенной документации для функций в Swift. Он представляет собой блочный комментарий с префиксом каждой строки ///. Он состоит из описания вашей функции, передаваемых параметров и возвращаемого значения. Запоминание формата этого комментария может быть проблемой. Таким образом, расширение предоставляет фрагмент завершения текста для создания этого блочного комментария. Введите /// над функцией, и рядом с вашим курсором появится возможность добавить комментарий к блоку. Нажмите на возврат, и он будет вставлен. Вы можете перемещаться между описанием функции, описанием параметров и описанием возвращаемого значения, нажимая на вкладку.

 

Журнал событий Swift


Перейдите в панель вывода (Cmd+Shift+U). В раскрывающемся списке в правой части экрана выберите Swift. Вы увидите журнал событий большого количества операций, выполненных расширением Swift. Вы можете расширить этот журнал, включив параметр Swift: Diagnostics. Если у вас возникли проблемы с расширением и вы хотите добавить issue в репозиторий GitHub, рекомендую также предоставить содержимое этого журнала.

 

Плагины команд Swift


Расширение создаст задачу для каждого плагина команды Swift. Выберите Run Task...из Terminal и введите swift-plugin в строке фильтра. Появится список командных плагинов, прикрепленных к пакетам Swift, которые у вас есть в рабочей области. Выберите один, чтобы запустить его. Вы можете изменить параметры плагина, нажав на значок шестеренки в правой части меню. Это создаст запись в файле tasks.json, который вы можете редактировать. Ниже вы можете увидеть отредактированную задачу по сборке документации для пакета MQTTNIO.

Приведенный выше список функций вместе со статьей swift.org охватывает большинство функций расширения Visual Studio Code Swift. Надеюсь, эта статья дала некоторое представление о некоторых из этих менее известных функциях.

Оригинал статьи

Содержание