Windows에서 Rust에 대한 개발 환경 설정

Rust를 사용하여 Windows에서 개발하는 방법에 대한 개요 토픽에서는 Rust를 소개하고 Rust란 무엇이며 주요 특징은 무엇인지 설명했습니다. 이 토픽에서는 개발 환경을 설정합니다.

Rust를 사용한 개발은 Windows에서 수행하는 것이 좋습니다. 그러나 Linux에서 로컬로 컴파일하고 테스트할 계획인 경우 Linux용 Windows 하위 시스템(WSL)에서 Rust를 사용하여 개발할 수도 있습니다.

Windows에서 Rust를 사용하려면 C++ 빌드 도구가 필요합니다.

Microsoft C++ Build Tools를 다운로드해도 되고, 간단하게 Microsoft Visual Studio만 설치(권장)해도 됩니다.

중요

Microsoft C++ 빌드 도구 또는 Visual Studio 빌드 도구를 사용하려면 유효한 Visual Studio 라이선스(Community나 Pro 또는 Enterprise)가 필요합니다.

참고

여기서는 Rust용 통합 개발 환경(IDE)으로 Visual Studio가 아닌 Visual Studio Code를 사용합니다. 하지만 비용 부담 없이 Visual Studio를 설치해도 됩니다. 학생, 오픈 소스 기여자 및 개인에게 무료로 제공되는 Community Edition을 사용할 수 있습니다.

Visual Studio를 설치하는 동안 .NET 데스크톱 개발, C++를 사용한 데스크톱 개발유니버설 Windows 플랫폼 개발이라는 Windows 워크로드를 선택하는 것이 좋습니다. 세 가지 모두 필요한 것은 아니라고 생각하실 수도 있지만, 셋 중 하나가 필요한 종속성이 발생할 가능성이 매우 높으므로 세 가지 모두 선택하는 것이 편합니다.

새 Rust 프로젝트는 기본적으로 Git를 사용합니다. 따라서 개발 구성 요소 Windows용 Git를 조합에 추가합니다(검색 상자를 사용하여 이름으로 검색).

.NET 데스크톱 개발, C++를 사용한 데스크톱 개발 및 유니버설 Windows 플랫폼 개발

Rust 설치

다음으로, Rust 웹 사이트를 통해 Rust를 설치합니다. 이 웹 사이트는 현재 Windows가 실행되고 있음을 감지하고, Windows용 64비트 및 32비트 rustup 설치 관리자 도구와 Linux용 Windows 하위 시스템(WSL)에 Rust를 설치하는 방법에 대한 지침을 제공합니다.

Rust는 Windows에서 매우 잘 동작합니다. Linux의 환경에서 직접 컴파일하거나 테스트하려는 것이 아니라면 WSL용 방법을 따라할 필요는 없습니다. 우리는 Windows 환경이므로 64비트 Windows용 rustup 설치 관리자를 실행하는 것이 좋습니다. 또한 rustup default stable-msvc를 실행하여 Microsoft C 및 C++(MSVC) 도구 체인을 설치합니다. 그러면 Rust를 사용하여 Windows 앱을 작성할 모든 준비가 완료됩니다.

Rust 설치 관리자가 완료되면 Rust로 프로그래밍을 시작할 수 있습니다. 편리한 IDE는 아직 사용할 수 없습니다(다음 섹션 Visual Studio Code 설치에서 다룰 예정). 그리고 Windows API를 호출하도록 아직 설정되지 않았습니다. 그러나 명령 프롬프트(cmd.exe)를 시작하고 cargo --version 명령을 실행할 수 있습니다. 버전 번호가 출력되면 Rust가 올바르게 설치된 것입니다.

위에서 사용한 cargo 키워드에 대해 설명하자면, Cargo는 프로젝트(더 정확하게는 패키지) 및 해당 종속성을 관리하고 빌드하는 데 사용되는 Rust 개발 환경 도구 이름입니다.

아직 간편한 IDE가 없기는 하지만 일부 프로그래밍에 대해 자세히 알아보려면 Rust 웹 사이트에 있는 Rust 프로그래밍 언어 서적의 Hello, World! 챕터를 읽을 수 있습니다.

Visual Studio Code 설치

VS Code(Visual Studio Code)를 텍스트 편집기/IDE(통합 개발 환경)로 사용하면 코드 완성, 구문 강조 표시, 서식 지정, 디버깅 등의 언어 서비스가 갖고 있는 장점을 활용할 수 있습니다.

또한 VS Code에는 명령줄 인수를 발급하여 (Cargo 등에 대해 명령을 실행하는) 기본 제공 터미널이 포함되어 있습니다.

  1. 먼저 Windows용 Visual Studio Code를 다운로드하여 설치합니다.

  2. VS Code를 설치한 후에는 rust-analyzer확장을 설치합니다. Visual Studio Marketplace에서 rust-analyzer 확장을 설치해도 되고, VS Code를 열고 확장 메뉴에서 rust-analyzer를 검색해도 됩니다(Ctrl+Shift+X).

  3. 디버깅을 지원하도록 CodeLLDB 확장을 설치합니다. Visual Studio Marketplace에서 CodeLLDB 확장을 설치해도 되고, VS Code를 열고 확장 메뉴에서 CodeLLDB를 검색해도 됩니다(Ctrl+Shift+X).

    참고

    디버깅 지원을 위한 CodeLLDB 확장의 대안은 Microsoft C/C++ 확장입니다. C/C++ 확장은 CodeLLDB처럼 IDE와 통합되지 않습니다. 하지만 C/C++ 확장은 뛰어난 디버깅 정보를 제공합니다. 따라서 필요할 때를 대비하여 준비해 놓으면 좋습니다.

    Visual Studio Marketplace에서 C/C++ 확장을 설치해도 되고, VS Code를 열고 확장 메뉴에서 C/C++ 를 검색해도 됩니다(Ctrl+Shift+X).

  4. VS Code에서 터미널을 열려면 보기>터미널을 선택하거나 바로 가기 키 Ctrl+` (백틱 문자 사용)을 사용합니다. 기본 터미널은 PowerShell입니다.

Hello, world! 자습서(VS Code와 함께하는 Rust)

간단한 "Hello, world!" 앱을 통해 Rust를 사용해 보겠습니다.

  1. 먼저 명령 프롬프트(cmd.exe)를 시작하고, Rust 프로젝트를 보관할 폴더에 대해 cd를 실행합니다.

  2. 그리고 다음 명령을 사용하여 자동으로 새 Rust 프로젝트를 만들도록 Cargo에 요청합니다.

    cargo new first_rust_project
    

    cargo new 명령에 전달하는 인수는 Cargo에서 만들려는 프로젝트의 이름입니다. 이 예제에서 프로젝트 이름은 first_rust_project입니다. Rust 프로젝트의 이름을 지정할 때 단어는 소문자, 공백은 밑줄로 표시하는 스네이크 케이스를 사용하는 것이 좋습니다.

    Cargo는 사용자가 제공하는 이름을 사용하여 자동으로 프로젝트를 만듭니다. 그리고 Cargo의 새 프로젝트에는 Hello, world! 메시지를 출력하는 매우 간단한 앱의 소스 코드가 포함되어 있습니다. Cargo는 first_rust_project 프로젝트를 만들었을 뿐 아니라 first_rust_project라는 폴더를 만들고 프로젝트의 소스 코드 파일을 이 폴더에 배치했습니다.

  3. 이제 이 폴더로 cd를 실행한 다음, 이 폴더의 컨텍스트 내에서 VS Code를 시작합니다.

    cd first_rust_project
    code .
    
  4. VS Code 탐색기에서 src>main.rs 파일을 엽니다. 이 파일은 앱의 진입점(main이라는 함수)을 포함하는 Rust 소스 코드 파일입니다. 다음과 같습니다.

    // main.rs
    fn main() {
      println!("Hello, world!");
    }
    

    참고

    VS Code에서 첫 번째 .rs 파일을 열면 일부 Rust 구성 요소가 설치되지 않았다는 알림과 설치 여부를 묻는 알림이 표시될 수 있습니다. 를 클릭하면 VS Code가 Rust 언어 서버를 설치합니다.

    main.rs의 코드를 보면 main이 함수 정의이며 "Hello, world!"라는 문자열을 출력한다는 것을 바로 알 수 있습니다. 구문에 대한 자세한 내용은 Rust 웹 사이트의 Rust 프로그램 구조를 참조하세요.

  5. 이제 디버거에서 앱을 실행해 보겠습니다. 2번 줄에 중단점을 배치하고 실행>디버깅 시작을 클릭합니다(또는 F5 키). 텍스트 편집기 내부에도 디버그실행 명령이 포함되어 있습니다.

    참고

    CodeLLDB 확장 및 디버거에서 처음으로 앱을 실행하면 "시작 구성이 제공되지 않아 디버깅을 시작할 수 없습니다"라는 내용의 대화 상자가 표시됩니다. 확인을 클릭하면 "이 작업 영역에서 Cargo.toml 파일이 발견되었습니다. 이 파일의 대상에 대한 시작 구성을 생성하시겠습니까?"라는 내용의 두 번째 대화 상자가 표시됩니다. 를 클릭합니다. 그런 다음, launch.json 파일을 닫고 디버깅을 다시 시작합니다.

  6. 보시다시피 디버거가 2번 줄에서 멈춥니다. F5 키를 눌러 계속 진행하면 앱이 완료될 때까지 실행됩니다. 터미널 창에는 우리가 예상한 대로 "Hello, world!" 메시지가 출력됩니다.

Windows용 Rust

Windows에서 Rust를 사용할 수 있을 뿐 아니라 Rust를 사용하여 Windows 앱을 작성할 수도 있습니다. windows 상자를 통해 과거, 현재 및 미래의 모든 Windows API를 호출할 수 있습니다. 이에 대한 자세한 내용과 코드 예제는 Windows용 Rust 및 windows 상자 토픽을 참조하세요.