-
Notifications
You must be signed in to change notification settings - Fork 0
KO Basic
Home · BASIC · UO API · A–Z · Examples · Languages
Basic Runtime은 Basic 스크립트를 실행하고 UO.* 호출을 ClassicUO의 실제 기능에 연결합니다. 내장 IDE는 Eclipse Theia와 Monaco editor를 사용합니다.
일반 실행 스크립트에는 다음 구조가 필요합니다.
SUB Main()
UO.Print('Hello from Basic')
END SUB파일을 열거나 수정하면 Runtime/language service가 문서 전체를 인덱싱합니다. procedures, functions, parameters, local/global declarations, API calls 및 diagnostics가 포함됩니다. SUB Main()이 파일 앞이나 뒤 어디에 있어도 되며 editor의 스크롤 위치에 의존하지 않습니다.
- Explorer: 파일 및 현재 스크립트;
- Editor: Basic 편집;
-
Outline: 선택된 파일의
SUB와FUNCTION; - Problems: 검증 오류 및 소스 줄 이동;
- Output / Debug Console: 시간순 실행 출력;
- API Inspector: 선택 API의 시그니처와 설명;
- Variables / Watch / Call Stack: 디버그 중지 상태의 값과 frame;
- API Manual: Runtime registration에서 만든 전체 카탈로그.
패널은 크기를 조절할 수 있습니다. 다른 패널을 선택해도 나머지 패널의 그리기와 업데이트가 계속되어야 합니다.
| 상태 | 표시 색상 |
|---|---|
| running | 녹색 |
| paused | 노란색 |
| stopped이며 선택됨 | 검정/현재 테마의 일반 색상 |
| debugging | 디버그 상태와 현재 중지 줄을 함께 표시 |
여러 스크립트를 동시에 실행할 수 있습니다. Explorer에서 선택한 인스턴스에 Run, Pause, Stop 및 step command가 적용되고 다른 인스턴스의 상태는 바뀌지 않습니다.
| 동작 | 키 | 기능 |
|---|---|---|
| Run Current Script | F5 |
현재 스크립트를 검증하고 실행 |
Start Script (SUB Main) / Run Without Debugging |
Ctrl+F5 |
breakpoint 없이 SUB Main() 실행 |
| Start Debugging | F4 |
debugger 아래에서 SUB Main() 실행 |
| Validate | F6 |
실행하지 않고 문법 검증 |
| Pause/Resume Current Script | F7 |
선택된 인스턴스 일시 정지/재개 |
| Continue | F8 |
pause 또는 breakpoint에서 계속 |
| Toggle Breakpoint | F9 |
현재 줄 breakpoint 추가/제거 |
| Step Over | F10 |
현재 문장을 실행하고 다음 실제 문장으로 이동 |
| Step Into | F11 |
호출된 SUB/FUNCTION 안으로 이동 |
| Step Out | Shift+F11 |
현재 procedure를 끝내고 호출 위치로 복귀 |
| Stop | Shift+F5 |
선택된 스크립트 중지 |
| Restart Debugging | Ctrl+Shift+F5 |
선택된 스크립트를 debug로 재시작 |
| API Documentation for Symbol | Ctrl+F1 |
커서 symbol의 Manual 항목 열기 |
Run 메뉴의 Stop All Scripts와 Pause All Scripts는 적용 가능한 running/paused 인스턴스가 있을 때만 활성화됩니다. 회색 항목은 현재 상태에서 동작을 적용할 수 없다는 뜻입니다.
F10, F11, Shift+F11은 debugger가 실행 가능한 문장에서 멈춘 경우에만 동작합니다. 현재 실행 줄은 Editor에서 강조됩니다. 중지 상태에서는 Variables, Watch, Call Stack이 정확한 frame snapshot을 표시하고, 연속 실행 중에는 마지막으로 안전하게 캡처한 snapshot만 표시합니다.
API 호출의 실제 반환값을 보려면 결과를 변수에 저장하고 다음 줄에서 breakpoint로 멈춘 뒤 Variables/Watch에서 확인하거나 UO.Print(...)로 출력하십시오.
- completion은 완전한
UO.*구문을 표시; - API 항목을 한 번 클릭하면 Inspector에 설명, 두 번 클릭하면 완전한 형태 삽입;
-
Ctrl을 누르고 있을 때만 Ctrl-hover 문서 표시; - tooltip은 줄바꿈되며 화면 밖으로 나가지 않음;
- 새 이름 없는 파일은
Autoload\Scripts에 Save; - 디스크에서 연 파일은 원래 경로에 Save;
- ClassicUO Runtime이 실행 중이면 IDE 창을 닫아도 스크립트는 계속 실행되며, IDE를 다시 열면 상태를 다시 읽음.
Runtime은 격리된 worker, 준비된 source cache, 협력적 yielding 및 게임 스레드로 전달하는 작업량 제한을 사용합니다. 그래도 긴 반복문에는 UO.Wait(...)를 사용하고 대기 없는 active loop를 만들지 마십시오.
ClassicUO - Bad Newbie & Basic IDE Edition