Комментарии 20
Хорошее начало. Кстати, мне в свое время понравилось почитать исходники компилятора Crystal, там работа с LLVM сделана очень читаемо. https://github.com/crystal-lang/crystal/blob/master/src/compiler/crystal/codegen/codegen.cr
Не понимаю, как на расте вообще можно разрабатывать. Несколько раз пробовал — каждый раз бросал на год, думал «Ну тогда будет получше», проходил этот год, и ничего не происходила. Последняя третья попытка была на прошлых выходных. Может мозилла просто не любит винду и все идеально работает под никсами? Потому что под виндой я что только не делал, но работает исключительно в виде «блокнот с подсветкой». Автодополнение — в VS2017 работает, в VSCode уже нет, рейсер то работает, то отваливается, документация не прогружается… Все статьи на эту тему либо в стиле совы, либо просто не дают того эффекта, который обещают. В итоге похоже на веселое копание в стиле «html в блокноте, сохранить как 1.html и открыть в браузере», прикольно, детство вспоминается, но черт, Холмс, как?
То есть тут человек берет и разрабатывает вполне себе серьезное приложение. Неужели он с такими кактусами это делает? А если нет, как он этого добился? Может действительно под линуксом всё чудесным образом нормально работает из коробки, и просто надо его поставить и разрабатывать под ним?..
Очень хотелось поработать под растом… Но пока что не представляю, как это можно делать, не вырывая волосы. Пока что самым простым способом для меня остается play.rust-lang.org, и удивляют люди, которые такой сложный софт пишут в таких сложных условиях. Моё уважение.
То есть тут человек берет и разрабатывает вполне себе серьезное приложение. Неужели он с такими кактусами это делает? А если нет, как он этого добился? Может действительно под линуксом всё чудесным образом нормально работает из коробки, и просто надо его поставить и разрабатывать под ним?..
Очень хотелось поработать под растом… Но пока что не представляю, как это можно делать, не вырывая волосы. Пока что самым простым способом для меня остается play.rust-lang.org, и удивляют люди, которые такой сложный софт пишут в таких сложных условиях. Моё уважение.
А вы Eclipse не пробовали?
Нет, в принципе эклипс не очень люблю (еще когда джаву пробовал), и даже не знал, что под неё раст есть. Большинство примеров в интернете видел только на VSCode и аналогах.
Разработчики Rust пишут, что улучшение работы с IDE — это главная задача: https://www.rust-lang.org/ru-RU/contribute-tools.html. Так что будем надеяться.
Спасибо, поставил, вроде получше, хотя в углу все равно висит раздражающая надпись rust toolchain is missing, при попытки установки которой все ломается. Вечером надо будет попробовать что-нибудь пописать.
в углу все равно висит раздражающая надпись rust toolchain is missing, при попытки установки которой все ломается
а rust через rustup установлен?
Да
Поставил на другой машине — более успешно, RLS работает и даже подсказывает что-то правильно. Но вот с запуском дебаггера беда. Как это настраивается?
(спросил в гиттере тоже, но имхо как коммент будет полезно другим начинающим)
(спросил в гиттере тоже, но имхо как коммент будет полезно другим начинающим)
Отвечу сам себе — есть неплохая инструкция по настройке дебаггера ( www.brycevandyk.com/debug-rust-on-windows-with-visual-studio-code-and-the-msvc-debugger ), но проблема в том, что для билда все равно нужно руками вызывать cargo build, плагину требуется указывать путь до уже скомпилированного файла…
С этой проблемой тоже справился, делаем такой launch.json
Рядом кладем tasks.json
Теперь все должно нормально собираться перед дебагом.
{
"version": "0.2.0",
"configurations": [
{
"name": "(Windows) Launch",
"type": "cppvsdbg",
"request": "launch",
"program": "${workspaceRoot}/target/debug/hello_world.exe",
"preLaunchTask": "cargo build",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceRoot}",
"environment": [],
"externalConsole": true
}
]
}
Рядом кладем tasks.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"taskName": "cargo build",
"command": "cargo",
"args": [
"build"
],
"problemMatcher": [
"$rustc"
]
}
]
}
Теперь все должно нормально собираться перед дебагом.
Пишу в linux/osx используя vscode+rls-vscode — вроде основные вещи с RLS уже вполне сносно работают.
Много кто еще хвалит https://intellij-rust.github.io .
Посмотрите в сторону Sublime подсветка и build system есть из коробки. Racer прикручивается с помощью плагина RustAutoComplete за пару секунд (сам пробовал под Win и Mac).
А как Вы потом «дебагаете» полученный код, к Эллипсу что-то прикручивается?
Насколько всё гладко с дебагингом получается?
Насколько всё гладко с дебагингом получается?
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Игрушечный фронтенд для LLVM, написанный на Rust: Руководство для начинающих