Настройка Visual Studio Code ruby

Обновлено: 21.11.2024

Недавно я наткнулся на Gitpod. Gitpod предоставляет облачные среды разработки. Они похожи на GitHub Codespaces, но, на мой взгляд, предлагают лучший опыт. Настройка среды проще, и все они связаны с эфемерностью. Идея состоит в том, что каждая среда просто существует, пока выполняется задача, над которой вы работаете, а затем вы ее выбрасываете. Как и Codespaces, Gitpod использует редактор кода Visual Studio, доступ к которому можно получить через браузер.

Я постепенно добавляю Gitpod во все свои проекты, потому что опыт разработки намного лучше, чем на моем локальном компьютере.

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

Чтобы настроить вашу среду для работы с Gitpod, вам нужно добавить файл с именем .gitpod.yml в корень вашего проекта. В моем случае это выглядит так:

Вы можете видеть, что он содержит простые инструкции, которые Gitpod использует для настройки вашей облачной среды разработки. Важно, чтобы он знал, из какого образа Docker он будет собираться. Хотя вы можете указать готовый образ, в этом примере я ссылаюсь на другой файл в моем проекте с именем .gitpod.Dockerfile, который выглядит следующим образом:

Это образ Gitpod Docker по умолчанию, который хорошо работает с Rails и Postgres. Gitpod сначала запускает команды из Dockerfile, а затем команды из tasks: key в .gitpod.yml. И вот сложная часть: если вы устанавливаете Rubocop только с помощью команды установки пакета после того, как образ Docker был настроен, расширение VSCode Ruby (которое мы используем для линтинга) не будет иметь доступа к этой команде. Поэтому, как видно из приведенного выше Dockerfile, вам необходимо установить rubocop по тому же пути, по которому вы устанавливаете Ruby.

Вот оно! Если вы еще не пробовали Gitpod или Github Codespaces, я настоятельно рекомендую попробовать. Для меня это следующий уровень абстракции в программировании, который существенно повысит производительность разработчиков.

Наша команда в основном использует RubyMine, Ruby IDE от JetBrains для разработки на Ruby и Ruby on Rails. В нем есть все, что вам нужно, включая выдающуюся поддержку автозаполнения.

Тем не менее, он может показаться тяжелым.

Представляем Microsoft Visual Studio Code, выпущенный в 2015 году. VSCode – это облегченный текстовый редактор на базе редактора Microsoft Monaco. Это фантастика.

Мы пытаемся вернуться к VSCode как к нашей основной IDE для Ruby. У редактора просто другое отношение к этому. А с последними обновлениями и доступом к коллекции фантастических расширений можно переключиться.

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

Настройка Visual Studio Code для использования в качестве редактора Ruby

Основные расширения Ruby VSCode:

Предоставляет улучшенный язык Ruby и поддержку отладки для кода Visual Studio.

Языковой сервер, обеспечивающий IntelliSense, завершение кода и встроенную документацию для Ruby.

Ruby Solargraph абсолютно необходим и делает Visual Studio Code одним из лучших редакторов ruby. Убедитесь, что установлены драгоценные камни solargraph и rubocop, чтобы использовать это расширение.

Разумно добавляет ключевое слово "end" в структуры кода в ruby, сохраняя при этом правильные уровни отступов.

Ruby Test Explorer для расширения VSCode Test Explorer.

Настройки VSCode для отличной Ruby IDE

Вот некоторые общие настройки, которые вы можете позаимствовать, чтобы ускорить переход на Visual Studio Code и Ruby.

Совет по автозаполнению Solargraph

Существует хитрость, позволяющая максимально эффективно использовать функции автозаполнения и IntelliSense Solargraph. Solargraph опирается на документацию верфи. Некоторые драгоценные камни включают его; некоторые нет. Хорошая новость заключается в том, что вы можете создать недостающую документацию для недавно установленных гемов, запустив yard gems. После завершения перезапустите код Visual Studio или просто сервер solargraph с помощью палитры команд и наблюдайте, как ваш код оживает. Это действительно большая разница между днем ​​и ночью.

Возьмите чашку кофе, а то и две, так как создание всей недостающей документации по двору в первый раз может занять некоторое время.

Расширения кода Visual Studio для повышения качества жизни

Сравнительное изображение ниже говорит само за себя. Нашей команде нравится это расширение.

Самая эпическая тема соответствует Visual Studio Code.

Самая эпичная тема значков файлов для Visual Studio Code.

Некоторые из нашей команды предпочитают сочетания клавиш vim.

Примечание, если вы используете vim и используете Endwise. Привязка клавиш o не приводит к ожидаемому ключевому слову "end". Вы должны использовать клавишу ввода.

Почетные упоминания

Поддержка языка YAML. Подходит для разработки на Rails.

Тонкая языковая поддержка. Удобно, если вы предпочитаете более короткий синтаксис вместо ERB.

Подсветка синтаксиса .env.

Автоматически добавлять закрывающий тег html/xml.

Расширяет возможности Git, встроенные в код Visual Studio.

VSCode как среда разработки Ruby on Rails

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

К сожалению, именно здесь код Visual Studio и солнечная графика начинают упираться в стену. Поддержка рельсов не сравнима с RubyMine. Они делают успехи, но в данный момент это далеко не так.

Вот ведутся соответствующие обсуждения. Они наполнены советами и рекомендациями, которые помогут уменьшить трение между солнечным графом и рельсами.

В приведенном выше выпуске git поддержки Ruby on Rails вы найдете скрипт, который можно преобразовать в задачу rake благодаря Фрицу Мейснеру (iftheshoefritz), который также приписывает работу Эвуду Келлерману (hellola). Так что большое спасибо им обоим.

После этого запустите bundle exec rake solargraph:update_model_definitions, и вы найдете новую папку /config/model_definitions. Задача rake генерирует схемы моделей и позволяет Solargraph перечислять атрибуты ваших моделей в списке предложений автозаполнения.

Подойдет ли вам VSCode Ruby IDE?

На данный момент, если вы новичок в разработке Ruby on Rails, мы рекомендуем использовать RubyMine в качестве предпочтительного редактора ruby. Предложения Intellisense и автозаполнения бесценны для тех, у кого меньше опыта или кто не знаком с Rails API. Это может помочь пролить свет, если вы не уверены, какие методы или атрибуты доступны. Тем не менее, следите за улучшениями. Сообщество VSCode постоянно добивается значительных успехов, и поддержка со стороны Microsoft впечатляет. Хорошим примером может служить недавно выпущенное расширение Live Share.

Тем не менее, для тех, кому удобно работать в Rails или просто придерживаться Ruby, Visual Studio Code в сочетании с нашими выбранными базовыми расширениями обеспечивает фантастический опыт. Трудно писать о «легком» ощущении, которое он обеспечивает, в отличие от полноценной Ruby IDE, такой как RubyMine. Но разница заметна и превосходна.

Недавно я спросил двадцать пять профессиональных разработчиков Ruby-фрилансеров об их любимых расширениях для Visual Studio Code.

Это был не формальный опрос, а просто способ выяснить, что делает расширение VS Code отличным, и использовать его для разработки нашего собственного расширения AppMap.

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

Самые популярные ответы

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

  • Rubocop – интерфейс VS Code для статического анализатора кода Rubocop.
  • ESLint — анализатор JavaScript. Мы все хорошо знаем об этом, так как его скачали почти тринадцать миллионов раз.
  • Prettier – средство форматирования текста.
  • Ruby — обеспечивает расширенную поддержку Ruby, специфичную для VS Code.
  • GitLens — обеспечивает расширенную поддержку Git для VS Code.

Было падение, и результаты стали более разнообразными

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

Невероятно полезные расширения, которые не являются новыми, но были новыми для меня

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

CSS Peek — переход непосредственно к определениям CSS по идентификатору или имени класса в HTML.

Малоизвестная инди

Просто, но так полезно.

  • Rails Routes — переход к определению маршрута из любого места, где он вызывается в коде

Один известный разработчик ответил на мой вопрос, вставив свой файл plugins.json в DM. На самом деле оказалось интересно пройти через это. Как будто смотришь титры фильма. Проверьте это.

Если у вас есть какие-либо расширения, которые вам действительно нравятся и которые, по вашему мнению, будут полезны разработчику Ruby, прокомментируйте их.

Вишну Чиламакуру

В этой статье я расскажу о некоторых подключаемых модулях, которые я использую, чтобы сделать разработку с Ruby on Rails проще и интереснее.

Зачем использовать эти инструменты?

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

Эти инструменты могут сэкономить вам много времени, они позволяют писать код более эффективно и, таким образом, повышают вашу производительность.

Если вы разработчик Ruby on Rails и ищете бесплатные инструменты разработки, я бы порекомендовал Visual Studio. У него есть множество плагинов, таких как упомянутые ниже, и они помогли мне значительно повысить мою производительность.

Примечание. Все подключаемые модули Visual Studio доступны в Visual Studio Marketplace бесплатно.

Итак, приступим.

Это один из самых популярных подключаемых модулей для Ruby, загруженный примерно 1,3 миллиона раз. Он предоставляет улучшенный язык Ruby и поддержку отладки.

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

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

Плагин Ruby имеет следующие функции:

– Автоматическое определение среды Ruby с поддержкой rvm, rbenv, chruby и asdf

– Поддержка Lint через RuboCop, Standard и Reek

– Поддержка форматов через RuboCop, Standard, Rufo и RubyFMT

– Базовая поддержка Intellisense

– Поддержка отладки Ruby

Рельсы

Это еще один популярный плагин для Rails, обеспечивающий расширенную поддержку Rails.

Шаблоны ERB HTML широко используются в экосистеме Rails в качестве представлений для отображения HTML-страниц для веб-сайтов. Подключаемый модуль Rails поддерживает синтаксис .erb, а также обеспечивает автозаполнение популярных HTML-тегов, таких как таблицы стилей, метатеги, теги ресурсов и т. д.

Этот плагин также помогает легко переключаться между представлениями Rails (файлами *.erb). Это также поможет вам легко просматривать онлайн-документацию любых методов или команд рядом друг с другом.

Вот некоторые функции, которые поддерживает этот плагин:

- Фрагменты Ruby on Rails «Asset Helpers» и «Tag Helpers».

- Подсветка синтаксиса .erb.

- Навигация между связанными файлами с помощью команды.

- Перейти к определению.

- Просмотр предлагаемого пути, статического метода модели и предлагаемого поля модели.

- Откройте онлайн-документ сбоку с помощью команды.

Рубиновый солнечный график

Ruby Solargraph — один из самых полезных подключаемых модулей в этом списке. Он обеспечивает IntelliSense, автодополнение кода и встроенную документацию по Ruby.

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

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

Vscode Endwise

Это мое любимое расширение, которое может сэкономить вам много времени и нервов. Это расширение автоматически добавляет конец ко всем блокам кода Ruby.

Схема базы данных Rails

Этот подключаемый модуль помогает вам определить схему БД, а также включает автозаполнение для схем БД Rails.

При определении схем или создании таблиц для любого объекта этот подключаемый модуль включает и автоматически дополняет синтаксис для всех ваших DDL (языков определения базы данных), таких как create_table , create_index , delete_table , update_table и т. д.

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

Зачем использовать Visual Studio?

Существует множество других вариантов IDE для разработчиков Ruby on Rails, таких как RubyMine (версия для предприятий), Sublime, Vim и т. д.

Но лично мне больше всего нравится Visual Studio, так как она имеет обширную поддержку подключаемых модулей для нескольких языков, таких как Golang, PHP, Node.js и других. Так что это IDE по умолчанию, особенно для разработчиков-полиглотов.

Несмотря на то, что в Visual Studio отсутствуют некоторые функции по сравнению с RubyMine, такие как поддержка последних обновлений версии Rails, она охватывает большинство функций, необходимых для разработки с помощью подключаемых модулей сообщества.

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

Вишну Чиламакуру

Полиглот Разработчик | Стартап-энтузиаст | Учимся плыть по волнам технологий

Если вы дочитали до этого места, отправьте твит автору, чтобы показать, что вам не все равно. Твитнуть спасибо

Научитесь программировать бесплатно. Учебная программа freeCodeCamp с открытым исходным кодом помогла более чем 40 000 человек получить работу в качестве разработчиков. Начать

freeCodeCamp – это поддерживаемая донорами некоммерческая организация, освобожденная от налогов в соответствии со статьей 501(c)(3) (идентификационный номер федерального налогоплательщика США: 82-0779546)

Наша миссия: помочь людям научиться программировать бесплатно. Мы достигаем этого, создавая тысячи видеороликов, статей и интерактивных уроков по кодированию — все они находятся в свободном доступе. У нас также есть тысячи учебных групп freeCodeCamp по всему миру.

Пожертвования в пользу freeCodeCamp идут на наши образовательные инициативы и помогают оплачивать серверы, услуги и персонал.

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