Рисунок 18.2 - Включение WSL
После выполнения этих шагов приступайте к установке Crystal внутри WSL, используя инструкции Ubuntu с официального сайта, как упоминалось ранее.
Установка кода Visual Studio
Если у вас нет Visual Studio Code, вы можете установить его с официального сайта https://code.visualstudio.com/. Это популярный, бесплатный и мощный редактор кода.
Если вы используете Windows и WSL, то установите расширение Remote — WSL. Это позволит Visual Studio Code подключаться к WSL.
Рисунок 18.3 - Установка расширения Remote – WSL
После установки этого расширения вы увидите небольшой зеленый значок в левом нижнем углу экрана. Используйте его, чтобы открыть окно WSL.
Рисунок 18.4 - Использование расширения редактора
Найдите и установите расширение Crystal Language с помощью языковых инструментов Crystal.
Рисунок 18.5 - Установка расширения Crystal Language
Он предоставит вам подсветку синтаксиса, форматирование кода и структуру проекта.
Рисунок 18.6 – Включение языкового сервера Crystalline
Чтобы раскрыть весь потенциал расширения, ему также необходим языковой сервер. Мы рекомендуем использовать для этого Crystalline. Это позволит завершить код, сообщить об ошибках, перейти к определению и получить информацию о символе при наведении курсора мыши.
Инструкции по установке можно найти по адресу https://github.com/elbywan/crystal#pre-built-binaries. По ссылке показана команда для загрузки и установки на macOS и Linux. Если вы используете Windows, следуйте инструкциям Linux внутри WSL.
Чтобы включить некоторые дополнительные функции, перейдите в настройки кода Visual Studio (Файл | Настройки | Settings) и найдите Crystal. Вы можете включить больше или меньше функций, но имейте в виду, что анализ кода Crystal не является легким процессом и может быть медленным для более крупных проектов в зависимости от вашего компьютера:
1. Первые параметры включают завершение кода, наведение курсора мыши и функцию перехода к определению; включите их.
Рисунок 18.7 - Дополнительные функции расширения
2. Далее вы можете выбрать, о каких проблемах будет сообщаться. Это полезно, поскольку позволяет вам обнаружить ошибки перед попыткой запуска кода. Параметр синтаксиса используется по умолчанию и проверяет наиболее распространенные ошибки. Вы также можете использовать сборку для проверки всех ошибок времени компиляции (более дорого) или ни одной, чтобы полностью отключить эту функцию.
Рисунок 18.8 - Уровень обнаружения проблем
3. Наконец, вы можете дополнительно настроить языковой сервер. Это позволит более полный анализ завершения кода и информации о символах на основе предполагаемого типа переменных. Здесь добавьте путь к исполняемому файлу Crystalline, который вы установили ранее. Имейте в виду, что языковой сервер является экспериментальным и может не предоставлять точную информацию во всех случаях.
Рисунок 18.9 - Настройка языкового сервера
Приложение B. Будущее Crystal
Crystal недавно стал стабильным и готовым к выпуску версией 1.0.0 в марте 2021 года. По состоянию на апрель 2022 года последней версией является 1.4.1, которая содержит множество усовершенствований. Тем не менее, впереди еще много работы, и многие области языка будут улучшены в следующих выпусках. Все обсуждения разработки и дизайна происходят открыто в официальном репозитории GitHub, и существует множество возможностей для внесения вклада со стороны посторонних.
Сегодня Кристалл уже используется в производстве несколькими компаниями. Вы можете найти общедоступный список некоторых из них на Wiki Crystal здесь: https://github.com/crystal-lang/crystal/wiki/Used-in-production. Ожидается, что теперь, когда введена надлежащая политика, запрещающая вносить критические изменения, уровень внедрения будет еще выше. Исходный код, созданный сейчас, будет нормально компилироваться без изменений во всех будущих версиях 1.x.
Windows
Crystal поддерживает Linux
, macOS
и FreeBSD
, но сегодня он не может работать в Windows
. Все остальные платформы Unix-подобны и достаточно похожи. С другой стороны, Windows — это совсем другое дело, и для ее правильной поддержки требуются значительные усилия. Это одна из наиболее востребованных функций, и ведется работа по обеспечению надлежащей поддержки Windows. Запуск Crystal внутри подсистемы Windows для Linux (WSL) поддерживается, но в основном предназначен для разработчиков.