Вы думали о том, чтобы попробовать Rust? Начните работу за считанные секунды с VSCode и Devcontainers!
Rust — новичок в мире, и в настоящее время — и совершенно справедливо — он вызывает много шума. Есть много причин любить Rust, но я думаю, что они хорошо освещены во многих других статьях. Вместо того, чтобы расхваливать сам Rust, я буду использовать Rust, чтобы еще раз показать, что Dev Containers с VS Code — это очень мощные инструменты, которые, как мне кажется, должны быть у всех разработчиков!
Я предполагаю, что хотя многие из вас, читающие статьи в технических блогах, слышали о Rust. Но я также предполагаю, что не так уж много людей установили инструменты на свои машины и начали играть с Rust?
Это не будет учебник по языку Rust — таких много! Вместо этого в этой статье будет показано, как настроить среду разработки для Rust, используя Visual Studio Code и Docker. Я покажу, как создать полнофункциональную среду разработки Rust в контейнере Docker, чтобы вы могли приступить к работе, не устанавливая на свой компьютер ничего специфичного для Rust.
Чтобы проиллюстрировать это, я создам простой пример API, используя Acitx. Конечно, было бы неинтересно, если бы я не добавил немного тестов, так что я тоже этим займусь!
Согласно моим предыдущим руководствам по этой теме, предварительные условия на вашем компьютере следующие:
- Докер
- Код Visual Studio
- Расширение Удаленные контейнеры для VSCode
- Терминал с оболочкой bash
- Если вы на Windows, рекомендую WSL, хотя для этого это не обязательно.
Код для этого можно найти здесь. Клонируйте репо, если хотите перейти к концу!
Пойдем!
Начните с создания пустой папки, перейдите в нее, а затем откройте VSCode. Скопируйте и вставьте это в свой терминал или сделайте это по старинке через проводник.
mkdir rust-devcontainer; \ cd rust-devcontainer; \ code .;
Когда откроется VSCode, нажмите F1 и найдите Добавить контейнер разработки. Примечание: у вас должно быть установлено расширение.
Найдите «Rust» и добавьте файлы конфигурации контейнера.
Выберите версию по умолчанию (buster на момент написания).
Пропустите любые дополнительные функции и нажмите «ОК».
Когда файлы конфигурации будут автоматически добавлены, VSCode покажет всплывающее окно, которое позволит вам открыть контейнер. Нажмите «Повторно открыть в контейнере», чтобы открыть среду в Docker.
Примечание. Если всплывающее окно не появляется, нажмите F1 и выполните поиск по запросу "повторно открыть в контейнере"
Докажите себе, что теперь вы работаете в контейнере со всеми установленными инструментами Rust, открыв терминал и проверив, доступны ли инструменты Rust:
Когда вы находитесь в среде Rust, настроить простой API довольно просто. Начните с инициализации нового проекта Rust, открыв терминал в VSCode и введя следующую команду:
cargo init
Чтобы показать, что мы действительно уже работаем со средой ржавчины, перейдите к файлу src\main.rs
и добавьте следующее:
fn main() { println!("Hello World!"); }
Затем в терминале VSCode введите следующее:
cargo run
Вот и все! У нас есть полнофункциональная среда разработки Rust, и мы готовы создавать любое количество приложений.
Далее давайте создадим демонстрационный API с помощью Actix.
Простой API
Добавьте зависимость для Actix в файл cargo.toml
.
Примечание. Пока я использую бета-версию.
[dependencies] actix-web = "
4.0.0-beta.21"
Затем удалите пример «hello world» и добавьте его в файл src\main.rs
:
Чтобы убедиться, что он работает, откройте терминал, введите
cargo run
Это запустит API, работающий на http://127.0.0.1:8080
И если вы перейдете по этому URL-адресу в браузере, вы увидите, что он ведет себя так, как ожидалось.
Пока все хорошо, и мы, вероятно, могли бы закончить на этом день. Но я никогда не буду удовлетворен, пока не будет запущен хотя бы один модульный тест, так что давайте сделаем это.
Тестирование
Вернувшись в файл src\main.rs
, добавьте следующий код под логикой:
И запустите тест, зайдя в терминал в VSCode и набрав следующее:
cargo test
Вы должны увидеть прохождение теста!
Это полезная тестовая установка, но мне нравится тестовый проводник, так что VSCode больше похож на «настоящую IDE». Как всегда, сообщество предоставило один.
В файле .devcontainer\devcontainer.json
добавьте две дополнительные строки в свойство extensions
"swellaby.vscode-rust-test-adapter", "ms-vscode.test-adapter-converter"
Вам нужно будет выйти и снова войти в удаленный контейнер, чтобы увидеть изменения (F1, обратно в WSL, затем обратно в devcontainer). Когда вы перезагрузите среду, вы увидите знакомый проводник тестов VSCode. Вы можете запускать тесты прямо из проводника!
Предполагая, что все в порядке, вы можете перемещаться и запускать тесты из обозревателя тестов VSCode.
Заключение
Я думаю, что это хорошее место, чтобы остановиться на данный момент. Мы настроили довольно полную среду разработки Rust с базовым API, примером модульного теста и некоторыми установленными базовыми расширениями Rust для VSCode.
Поскольку все это настраивается с помощью devcontainers, этой настройкой можно очень легко поделиться среди команды, чтобы все заработали в согласованной среде разработки Rust буквально за секунды — столько же, сколько требуется для клонирования репозитория!
Надеюсь, это было полезно для тех, кто дочитал до конца! Я надеюсь, что я преобразовал хотя бы несколько новых «Растообразных»!
Want to Connect? You can get in touch on Linkedin.