2가지 새로운 도구를 사용하여 Visual Studio Code에서 더 쉽고 재미있게 게임테스트 스크립트를 작성할 수 있습니다.
Visual Studio Code Intellisense용 사용자 정의 유형 정의 파일
Visual Studio Code는 사용자가 입력할 때 힌트와 코드 완성 드롭다운을 제공할 수 있도록, 다양한 라이브러리를 위한 상세한 정보를 표시합니다. 게임테스트 모듈인 mojang-minecraft
와 mojang-gametest
에 유형 정보를 사용할 수 있습니다.
시작하려면 Node Package Manager, 즉 npm을 사용하세요. npm을 사용하면 패키지에서 다양한 코드 모듈을 다운로드하고 설치할 수 있습니다. npm이 포함된 Node.js를 개발 디바이스에 설치합니다. npm 설치에 관한 자세한 내용은 nodejs.org에서 확인할 수 있습니다. 시작하려면 Node.js의 최신 LTS 버전을 설치하세요.
Node.js를 설치했다면 최신 유형 정의를 쉽게 얻을 수 있습니다. Visual Studio Code에서 행동 팩 폴더가 있는 폴더를 열고 터미널 콘솔 창에서 다음 명령어를 실행합니다.
npm i @types/mojang-minecraft
npm i @types/mojang-gametest
프로젝트에 있는 node_modules 폴더에 유형 정의를 설치합니다.
새 코드 힌트를 편집하려면 Visual Studio Code를 여세요. JavaScript를 작성할 때는 자동 완성이 표시됩니다.
유형에 대한 인라인 참조 문서:
참고
최신 베타 API에 맞게 이러한 유형 정의를 업데이트하고 있으니, npm을 자주 확인하여 업데이트된 유형 정의가 있는지 확인하세요.
Minecraft 스크립트 디버깅을 이용해 코드 관련 정보 얻기
스크립트에서 작성하는 코드베이스가 늘어나면, 다양한 지점에서 코드를 검사하여 변수 상태를 확인하고 알고리즘을 테스트해야 합니다. 많은 시작 프로젝트에서 사람들은 Console.log나 Chat 같은 명령어를 사용하여 다양한 변수를 인쇄합니다. 이 작업을 흔히 "디버깅 인쇄"라고 합니다. 하지만 개발자는 더 좋은 방법을 사용할 수 있습니다! Minecraft Bedrock Edition의 게임테스트에서의 스크립팅을 사용하면, 스크립트 디버깅 기능을 이용해 Minecraft 스크립트에서의 데이터 검사를 아주 쉽게 수행할 수 있습니다.
시작하려면 Visual Studio Code를 현재 개발 중인 JavaScript 파일의 편집기로 사용해야 합니다. 다음과 같은 단계를 수행해야 합니다.
- Visual Studio Code를 이용해 Minecraft Bedrock Edition 디버거 설치 – 이 작업은 한 번만 하면 됩니다.
- development_behavior_packs 폴더에서 Visual Studio Code 열기
- (Bedrock 전용 서버 또는 Minecraft Bedrock 클라이언트에 있는) 테스팅 클라이언트에 따라 Minecraft Bedrock Edition과 Visual Studio Code를 연결
- 중단 지점을 설정하고 작업을 진행하면서 감시 변수를 코드에 추가한 다음 Minecraft를 Visual Studio Code에 연결
중요
Minecraft 디버거와 게임테스트 프레임워크 실험은 Minecraft 최신 베타 버전과 함께 사용하도록 최적화되었습니다. 더 자세한 정보는 Minecraft 베타에서 확인하세요.
Minecraft Bedrock Edition을 이용한 디버깅
1단계: Visual Studio Code를 이용해 Minecraft Bedrock Edition 디버거 설치
디버거 기능을 사용하려면 Visual Studio Code를 이용해 Minecraft Bedrock Edition 디버거를 설치해야 합니다. 이렇게 하려면 아래 버튼을 클릭하여 Visual Studio Code의 마켓플레이스에서 Minecraft Bedrock Edition 디버거를 다운로드하세요.
2단계: Minecraft Bedrock Edition 클라이언트가 "루프백" 요청을 할 수 있는지 확인
(가장 흔한 시나리오인) Minecraft Bedrock Edition 클라이언트를 같은 장치에서 실행 중인 Visual Studio Code에 연결하려면, UWP 루프백 제한에서 Minecraft 클라이언트를 제외해야 합니다. 이렇게 하려면 명령어 프롬프트나 시작 | 실행 앱에서 다음을 실행합니다.
CheckNetIsolation.exe LoopbackExempt -a -p=S-1-15-2-1958404141-86561845-1752920682-3514627264-368642714-62675701-733520436
3단계: development_behavior_packs 폴더에서 Visual Studio Code 열기
디버거가 원본 JavaScript 파일을 찾을 위치를 알게 하려면, JavaScript 원본 파일이 있는 행동 팩에 대한 Visual Studio Code 창을 별도로 열어야 합니다.
게임테스트를 작성할 때는 게임테스트를 대부분 Minecraft의 development_behavior_packs 폴더에 배포합니다. 이 폴더는 %localappdata%\Packages\Microsoft.MinecraftUWP_8wekyb3d8bbwe\LocalState\games\com.mojang\development_behavior_packs
에 있습니다. 디버그할 행동 팩을 선택하고, 이 폴더를 가리키는 Visual Studio Code 창을 엽니다.
4단계: 연결할 수 있도록 Visual Studio Code 준비
Minecraft Bedrock Edition을 이용해 디버그하려면 Minecraft에서 Visual Studio Code로 연결해야 합니다. 이 샘플에서는 동일한 Windows 10 장치에서 디버그한다고 가정하지만, 원한다면 다양한 장치와 클라이언트에서 디버그할 수 있습니다. 여러 디바이스에서 디버깅한다면, Visual Studio Code에서 실행 중인 장치의 방화벽에서 포트를 열어야 할 수 있습니다.
연결을 구성하려면 행동 팩 폴더에 .vscode 하위 폴더를 추가해야 합니다. .vscode 폴더에 다음 launch.json 구성 파일을 추가합니다.
(참고: 이 파일의 줄을 편집하지 않아도 됩니다.)
{
"version": "0.2.0",
"configurations": [
{
"type": "minecraft-js",
"request": "attach",
"name": "Wait for Minecraft Debug Connections",
"mode": "listen",
"localRoot": "${workspaceFolder}/",
"port": 19144
}
]
}
5단계: Minecraft 행동 팩 실행
Visual Studio Code와 행동 팩을 준비했으니, 이제 디버깅을 시작할 수 있습니다!
먼저 Visual Studio Code에서 디버깅 시작을 클릭합니다. Visual Studio Code가 디버깅 연결 수신 대기 모드로 전환됩니다.
Minecraft를 시작하고 월드에 스크립팅 행동 팩을 불러옵니다. 게임테스트 함수에 중단 지점을 설정해도 됩니다. 이렇게 하려면 중단 지점을 설정할 코드의 특정 줄 왼쪽을 클릭하세요.
이 슬래시 명령어를 사용하여 포트의 Visual Studio Code에 연결하세요.
/script debugger connect localhost 19144
슬래시 명령어에서 연결 성공 응답이 표시됩니다.
이제 코드를 트리거합니다(주로 /gametest run (my test name)
등을 이용해 테스트를 실행하여 트리거합니다).
중단 지점에 도달하는 모습을 확인할 수 있습니다. 필요하다면 로컬 변수를 확인하고 감시를 추가할 수도 있습니다.
Minecraft Bedrock 전용 서버를 이용한 디버깅
Bedrock 전용 서버를 이용한 디버깅 절차는 약간 다릅니다. Bedrock 전용 서버를 이용해 디버깅하는 경우 Bedrock 전용 서버는 Visual Studio Code에서 시작된 디버그 연결을 수신 대기합니다. 먼저 위의 설명에 따라 Visual Studio Code용 Minecraft Bedrock Edition 디버거를 설치해야 합니다.
Bedrock 전용 서버 구성
기본적으로 Bedrock 전용 서버는 디버그 연결을 허용하도록 구성되지 않습니다. 이 디버깅을 설정하려면 Bedrock 전용 서버의 server.properties
파일에서 일부 설정을 변경해야 합니다.
이러한 설정은 Bedrock 전용 서버에서의 디버깅을 구성합니다.
allow-outbound-script-debugging
(true/false): /script 디버거 연결 명령어를 활성화합니다. 기본값은 false입니다.allow-inbound-script-debugging
(true false): /script 디버거 수신 대기 명령어(및 서버에서의 포트 개방)을 활성화합니다. 기본값은 false입니다.force-inbound-debug-port
(number): 인바운드 디버그 포트를 특정 포트에 고정합니다. 이렇게 하면 기본 스크립트 디버깅 포트가 설정되고, /script 디버거 수신 대기 명령어 사용자가 다른 포트를 지정할 수 없게 됩니다.
이 프로젝트에서는 allow-inbound-script-debugging을 true로 설정합니다.
행동 팩 프로젝트 준비
Visual Studio Code 인스턴스는 Minecraft 인스턴스의 development_behavior_packs 폴더에 있는 행동 팩의 루트를 가리켜야 합니다(따라서 (my Bedrock Dedicated Server installation)\development_behavior_packs\(behaviorpackname)
에서 Visual Studio 코드를 열어야 합니다).
디버그할 행동 팩 루트에 .vscode 하위 폴더를 추가합니다. 다음 launch.json 파일을 .vscode 폴더에 추가합니다. (참고: 이 파일의 줄을 편집하지 않아도 됩니다.)
{
"version": "0.2.0",
"configurations": [
{
"type": "minecraft-js",
"request": "attach",
"name": "Attach to Minecraft Bedrock Dedicated Server",
"localRoot": "${workspaceFolder}/",
"port": 19144
}
]
}
Minecraft 행동 팩 실행
Visual Studio Code와 행동 팩을 준비했으니, 이제 디버깅을 시작할 수 있습니다!
Minecraft를 시작하고 월드에 스크립팅 행동 팩을 불러옵니다.
Bedrock 전용 서버의 콘솔에서 이 슬래시 명령어를 사용하여 포트에서의 수신 대기를 시작합니다.
script debugger listen 19144
이 명령어에서 "디버거 수신 대기"라는 응답이 표시됩니다.
이제 Visual Studio Code에 있는 "디버깅 시작"을 누릅니다.
`/gametest run (my test name)` 같은 명령어를 실행하여 Bedrock 전용 서버에서 테스트를 시작할 수 있습니다.
편집기 왼쪽, 코드의 특정 줄을 클릭하면 코드에 중단 지점을 설정할 수 있습니다. 테스트를 행동 팩에서 실행하면 중단 지점에 도달하게 됩니다. 필요하다면 로컬 변수를 확인하고 감시를 추가할 수도 있습니다.
이번 내용은 여기까지입니다! JavaScript 줄을 추가하는 업데이트된 코드 도우미와 Visual Studio Code에서의 새 디버거 기능을 사용하여, 더욱 방대한 테스트와 스크립트를 훨씬 빠르게 작성하시길 바랍니다.