해당 포스트는 Linux를 대상으로 한다. 필자는 visual studio codespaces를 기반으로 테스트하고 포스팅했으니 만약 포스트의 내용과 다른게 있다면 댓글로 알려주기 바란다.
※ 만약 wsl에서 시도를 할 경우 우분투 버전이 20.04면 rustup 설치가 되지 않을 수 있다. 이는 wsl 자체 오류이므로 괜한 삽질하지 말길 바란다.
rust를 설치하기 위해 shell에 아래 명령어를 입력하자. 이 명령어는 rustup을 설치 스크립트를 이용해 다운로드한다.
curl https://sh.rustup.rs -sSf | sh
처음 실행 시 설치 옵션이 아래처럼 뜰 것이다. 1을 입력해 설치를 진행하자.
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
>1
rustup을 통해 rust를 설치하면 cargo도 함께 설치된다. 현재 shell에 적용하기 위해 아래 명령어를 입력하자.
source $HOME/.cargo/env
cargo로 새로운 러스트 프로젝트를 만들고, vscode로 연다.
cargo new --bin hello_rust
이제 vscode에서 확장 프로그램을 설치할 차례다. Ctrl + Shift + P를 눌러 Command Palete를 열고, 아래 명령어들을 하나씩 입력해 설치한다.
ext install matklad.rust-analyzer
ext install vadimcn.vscode-lldb
ext install bungcip.better-toml
이제 다시 Command Palete에서 아래 명령어를 입력해 vscode를 다시 시작하자.
> reload window
vscode를 다시 시작하면 오른쪽 아래에 rust-analyzer를 설치할 것이냐는 알림이 뜬다. "Download now"를 눌러 설치하자.
이제 rust-analyzer를 설정하기 위해 아래 문장을 vscode의 settings.json에 붙여 넣고 다시 리로드 한다. 만약 뭔가를 설치하라는 알림이 뜨면 버튼을 눌러 설치하면 된다.
"rust-analyzer.debug.engine": "vadimcn.vscode-lldb"
설정을 끝마치면 main.rs를 아래 코드로 바꾸고 println!()에 커서를 올려 사진처럼 설명이 잘 나오는지 확인한다.
fn main() {
let x = 1 + 2;
println!("{}", x);
}
디버깅도 잘 되는지 확인해보기 위해 println!()에 F9를 눌러 중단점을 설정하고 main() 함수 위 Debug를 눌러서 디버깅이 잘 되는지 확인한다.
이제 CodeLLDB를 통한 디버깅을 해보자.
F5를 처음 누르면 나오는 Launch.json 설정 창에서 LLDB를 선택하면 launch.json이 없다는 경고 창이 뜬 후, CodeLLDB에서 Cargo.toml을 자동으로 인식하여 launch.json을 구성한다는 알림 창이 뜰 것이다. Yes를 눌러 launch.json을 생성하자.
F5를 눌러 디버깅할 때 중단점에서 잘 멈추는지 확인해보자.
이 글이 큰 도움이 되고 있습니다. 미리 감사드립니다.
rust를 리눅스에서 해보려고 시도하고 있습니다.
그런데 이 부분이 잘 이해가 안돼서 질문드립니다.
"이제 rust-analyzer를 설정하기 위해 아래 문장을 vscode의 settings.json에 붙여 넣고 다시 리로드 한다"
settings.json이 어디를 말하는건가요?
Settings -> Extensions -> Rust Analyzer를 클릭해보니 뭔가 많이 나오는데요.
아래로 스크롤 하다보면 "Edit in settings.json" 이것이 나오는데 이것을 선택해서 붙여넣으라는 건가요?
그런데 이것이 10개나 나옵니다. 어디에 붙여 넣여넣어야 하는건가요?