기본 콘텐츠로 건너뛰기

godot-rust-vscode 확장 프로그램 설정

godot-rust-vscode 확장 프로그램 설정

이제 VSCode에서 Rust Project를 어떻게 열어야 할지 살펴보자. 어느 폴더에서 프로젝트를 열어야 할지는 개발자 마음대로 해도 된다. 하지만, 이미 앞에서 godot-rust-vscode 확장 프로그램을 설치 했으니 이 확장 프로그램을 이용하기 편한 상태로 프로젝트를 여는 것이 좋을 것 이다.

godot-rust-vscode 확장 프로그램은 사용자가 루트 폴더에서 VSCode를 실행시키는 것이 아닌 root아래에있는 rust폴더에서 VSCode를 실행시키는 것을 가정하고 있으므로, rust 폴더로 이동 후 VSCode를 실행 시킨다.

godot-rust-vscode 환경 설정

VSCode가 열리면 확장 프로그램의 환경 설정이 필요하다. 우선, ctl+. 를 눌러서 설정 화면으로 진입한 후, 설정 검색란에 godot-rust 라고 입력하여 관련 설정만 나타나게 한다. 그러면, 아래 그림처럼 다섯가지 설정만 나타나게 되는데 각각 자신의 시스템에 맞게 설정하면 된다.

godot-rust-vscode 확장 프로그램의 설정화면
하나씩 살펴보자.
  • Target Platform
    이 프로젝트가 어떤 타겟을 대상으로 빌드될지 선택하면 된다. 나는 개발중엔 컴퓨터에서 로컬 빌드를 하면서 진행 할 것 이기 때문에 x86_64-unknown-linux-gnu를 선택 했다. 각자 자신이 원하는 타겟을 설정하면 된다.
  • Target Platform Custom
    위의 옵션에서 custom을 선택했을 경우 여기에 custom target을 적으면 된다.
  • Godot Editor Path
    내 컴퓨터에 설치되어 있는 godot 엔진의 실행파일의 위치와 실행파일명까지 적으면 된다. 내 경우는 환경변수 GODOT_HOME에 godot실행파일의 위치가 들어 있어서, 환경변수를 이용해서 설정했다. 각자 자신이 어느 폴더에 godot파일을 저장해 놓고 사용하는지에 따라 적절하게 설정하면 된다.
  • Godot Project Path
    현재 열려있는 rust 프로젝트와 나란히 있는 godot 프로젝트 파일이 위치한 폴더다. workspaceFolder 에서 상위로 이동 후 godot 폴더를 가리키고 있는 것을 볼 수 있다.
  • Makefile Path
    makefile이 있는 프로젝트 템플릿 루트 폴더를 가르키면 된다. workspaceFolder에서 한단계 상위로 이동한 폴더가 지정되어 있은 것을 볼 수 있다.

Project file 생성

이제 환경설정이 됐으니 관련 프로젝트 파일을 생성해야 한다. ctl+shift+p 를 눌러 VSCode의 명령어 입력창을 연 후 godot-rust 라고 입력해 보자.
godot-rust-vscde 확장 프로그램에서 제공하는 프로젝트 파일 생성 명령
위의 그림처럼 godot-rust: Generate Project Files 라는 메뉴가 나타난다. 이 메뉴를 실행하면 자동으로 launch.json, tasks.json을 적절하게 만들어 준다. 잘 만들어 졌는지 확인하려면, ctl+p 를 누른 후, launch.json 혹은 tasks.json 이라고 입력해서 해당 파일을 열어 보자.
다음과 같이 파일이 작성된 것이 보인다면 정상적으로 프로젝트 파일이 생성 된 것 이다.
위 파일은 launch.json이다. "Debug Game", "Release Game", "Attach to Game" 에 대한 설정이 잘 들어가 있는 것을 확인 할 수 있다. 각각 디버깅, 배포 빌드, 다른 프로세스에 attach 하는 용도로 사용하면 된다.
위 파일은 tasks.json이다. VSCode에서 Run Tasks를 통해 직접 실행시키거나, 다른 task에서 실행 할 수 있는 작업모음이다. 위에 있는 launch.json에서도 이 task에 있는 "godot-rust: Build Debug"를 먼저 실행 시키고 lldb를 이용해 디버깅을 시작하는 것을 볼 수 있다. "godot-rust:"로 시작되는 다섯가지 task가 잘 생성 된 것을 확인 할 수 있다.

실행 및 디버깅

이제 실행 할 준비가 다 됐으니 실행만 해 보면 된다. 디버그 메뉴를 열고 "실행 및 디버그" 선택창에서 "Debug Game"을 선택 한 후 실행 시켜보자. 간단하게 F5를 눌러도 된다. 잘 실행이 된다면, 마지막으로 브레이크 포인트가 잘 설정되는지 확인해 보자.
game.rs 파일을 열고, _process 함수의 내부에서 게속 메세지를 찍고 있는 44라인 godot_print! 문에 브레이크 포인트를 설정해 보자. 브레이크 포인트를 설정하는 방법은, 에디터의 라인넘버 왼쪽에 마우스를 가져다 대면 작은 점이 생기는데, 이때 클릭 하면 된다. 붉은 점이 생겼으면 이제 다시 F5를 눌러 디버깅을 시작 해 보자. 게임 실행창이 생겼다가 브레이크 포인트에 멈추면서 VSCode가 포그라운드로 나오면서 아까 브레이크 포인트를 설정한 44라인에 멈춰 있고, 왼쪽 파일탐색기가 있던 곳에 변수, call stack등이 보인다면 브레이크 포인트까지 잘 설정 된 것 이다.
debugger 화면

댓글

이 블로그의 인기 게시물

Dodge The Creep - [1]

Dodge The Creep - [1] 환경 설정 Godot 공식 문서에 나와있는 2D 튜토리얼인 Dodge The Creep 게임을 Rust를 이용해서 따라 만들어 보자. 템플릿 복사 및 실행 우선 프로젝트 셋업을 해야 한다. 이 부분은 Rust를 이용한다고 해도 크게 바뀌는 부분은 없다. 하지만, GDScript를 이용한다면, Godot Editor를 이용해서 처음부터 하면 되겠지만, Rust를 이용하기 때문에 우선 cargo를 이용해 기본 프로젝트 template를 만들고 난 후, 생성된 godot 폴더에서 프로젝트 설정을 수정하도록 한다. $ cargo generate  - - git https: / / github.com / godot - rust / godot - rust - template  - - name dodge - the - creep - rust $ cd dodge-the-creep-rust $ cargo make run Colored by Color Scripter cs 위 명령들을 하나씩 살펴보면, cargo generate 를 이용해서 기본 템플릿을 이용한 프로젝트 폴더를 생성한다. 만들어진 프로젝트 폴더로 이동 cargo make run  명령을 이용해 빌드 및 실행 cargo generate   를 이용해 프로젝트를 생성했을 때, 기존 템플릿은 make를 이용했기 때문에, gdnative 문서 페이지를 보면  make run   으로 빌드 및 실행 명령어가 안내되어 있지만, 최근 cargo build를 이용하는 방식으로 변경 이 되어서 이제는 cargo make run  을 이용해서 실행해야 빌드 및 실행이 적절하게 동작 한다. 기존에는 비어있는 화면 이었는데, 최근 커밋 에는 기본으로 spinning cube 가 동작하도록 되어 있어서 최신 소스 기반으로 실행을 한다면 아래의 하면을...

[C#] 자동으로 특정 팝업창 닫기

[C#] 자동으로 특정 팝업창 닫기 Windows UI 테스트 혹은 자동화 작업을 할 때, 특정 윈도우창 혹은 팝업창이 뜨는 것을 인지 하고, 내용을 얻거나 버튼을 누르려면,  System.Windows.Automation 의 AddAutomationEventHandler 를 사용하면 된다. Hook 설정 4 번째 라인에서 WindowOpendEvent를 설정 함 으로써, 창이 열릴 때 hook이 걸린다. 7 번째 라인에서 event handler를 등록 한다. Event Handler 설정 8 번째 라인에서 element의 이름이 내가 찾는 이름인지 비교한다. 15번째 라인에서 팝업창의 내용을 출력 한다. 22번째 라인에서 팝업창의 자식 element중에 "N" 문자가 포함된 것 즉, 아니오 버튼을 찾는다. 24~25번째 라인에서 버튼을 누르는 동작을 수행 한다.

Godot-Rust 개발환경 설정

Godot-Rust 개발환경 설정 우선은 개발환경을 설치해 보면서 하나씩 배워보면 좋을 것 이다. 공식 홈페이지에 Godot 과 Rust 개발환경을 설정하는 방법이 자세히 나와있으니 각각 따라서 잘 설치하면 되지만, Godot과 Rust를 동시에 사용하기 위한 내용을 포함해 다시 정리해 본다. 앞선 게시물에서 Godot에서 C/C++ 바인딩을 위해 GDNative와 헤더를 제공한다고 적었는데, 이를 통해 Rust도 Godot과 바인딩해서 사용할 수 있다. 직접 GDNative와 바인딩 하는 것을 할 수도 있겠지만, 이미 godot-rust 오픈소스 프로젝트에서 안정적으로 바인딩된 상태이므로 이 프로젝트를 사용하면 다시 바인딩 할 필요없이 제공되는 gdnative crate를 사용함으로써 쉽게 Rust를 이용해 Godot 개발을 할 수 있다. Godot Engine Godot 공식 다운로드 페이지 에서 자신의 OS에 해당하는 이미지를 받아서 적절한 폴더(예들들어, ~/Godot/)를 만들고 집어 넣는다. 어느곳 에서도 실행 할 수 있도록, 환경변수에 path를 설정한다. The godot-rust Book  페이지에는 3.2.3-stable을 지원하고 있다고 되어 있는데, 이는 cargo의 dependency에 gdnative crate 버젼을 0.9.3 으로 명시했을때고, 그렇지 않고 github의 주소를 적으면, 3.4.2 (이 글을 작성하는 최신버전) 까지도 문제없이 동작한다. Rust rustup  을 방문하면, rust 에서 공식적으로 제공하는 설치 이미지를 통해 Rust toolcahin을 설치 할 수 있다. (Ubuntu인 경우 curl 을 통해 받아서 설치됨) 설치 후 다음과 같은 명령어를 통해 잘 설치 되었는지 확인할 수 있다. LLVM godot-rust 는 LLVM에 기반한 bindgen을 기반해 바인딩 되어 있기 때문에, LLVM 바이너리를 설치해야 한다. 설치 후 다음 명령을 통해 설치가 잘 되어 있는지 확인 할 수 있다....