6. 개발환경 (C++/C#): Linux + Visual Studio Code 원격 개발

Visual Studio Code 의 원격 개발 기능을 사용해서 MS Windows와 macOS 상에서 linux 서버를 연결하여 C++ 혹은 C# (mono) 를 사용해서 개발할 수 있습니다. IDE는 Windows 혹은 macOS에서 구동하고, 개발 관련된 파일들은 linux 서버 위에 저장하게 됩니다.

이 챕터에서는 Visual Studio Code 대신 VS Code로 축약해서 부르겠습니다.

Important

현재 Mono 라이브러리의 버전 문제로 Ubuntu 에서 C# 프로젝트를 실행할 수 없는 문제가 있습니다. 아이펀엔진과 Monodevelop 개발도구를 설치하기 전 반드시 아래 절차를 따라 Mono 라이브러리 저장소를 설정 해 주시기 바랍니다.

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/ubuntu stable-xenial/snapshots/5.10.1 main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
sudo apt-get update
sudo apt-get install mono-devel

6.1. 새 프로젝트 만들기

기존 프로젝트에 적용하는 경우에는 다음 단계로 넘어가시기 바랍니다.

터미널 상에서 다음 명령을 입력해서 my_project 라는 새로운 프로젝트를 생성합니다.

$ funapi_initiator my_project

새로 만들어진 프로젝트는 끝에 ‘-source’ 가 붙은 디렉터리로 존재합니다. 예를 들어 위의 경우는 my_project-source 라는 이름이 됩니다. 게임 개발팀에서는 이 디렉터리를 SVN 저장소나 GIT 저장소에 넣고 공유할 수 있습니다.

6.2. VS Code 환경 설정 만들기

다음을 입력합니다.

$ my_project-source/setup_build_environment --type=vscode

이제 Windows 나 macOS 에서 VS Code를 실행하고, 원격으로 접속합니다. 해당 과정은 공식 문서를 참고해주시기 바랍니다.

6.3. 빌드하기

접속 후에, 위에서 만든 my_project-source 디렉터리를 VS Code 상에서 접근할 수 있습니다.

_images/vscode-cpp-build.png

Terminal 메뉴의 “Run Build Task” 를 실행하면 프로젝트를 빌드합니다. 빌드 설정은 .vscode/tasks.jsonBuild 태스크에서 처리하고 있습니다. 필요한 경우 tasks.json 에서 디버그/릴리즈 빌드를 변경할 수 있습니다.

유사하게, “Packaging” 태스크를 사용하면 패키지를 생성합니다.

6.4. 디버깅하기

6.4.1. C++ 프로젝트

_images/vscode-cpp-debug.png

디버그 탭에서 서버 타입을 선택하고, 디버깅을 시작할 수 있습니다.

6.4.2. C# 프로젝트

_images/vscode-mono-debug.png

디버그 탭에서 서버 타입을 선택하고 디버깅을 시작합니다. 해당 기능은 Mono Soft Debugger를 사용하고 있어서, 디버거 서버가 연결 될 때까지의 걸리는 시간 동안 디버깅 관련된 기능이 동작하지 않습니다.

6.4.3. Flavor 추가하기

Flavor 기능을 사용하는 경우 flavor 를 추가한 후에는 다음 명령으로 VS Code 설정 파일에 디버깅 대상으로 추가할 수 있습니다.

$ my_project-source/setup_build_environment --type=vscode

Note

혹시라도 .vscode 디렉터리 이하의 파일을 직접 고친 경우, 이전 파일의 백업을 같은 디렉터리에서 확인할 수 있습니다.