# 스크립트 에디터

## 개요

OVERDARE Studio의 스크립트 에디터는 스크립트 작성을 위한 필수 도구로, 코드를 손쉽게 작성할 수 있도록 설계되었습니다. 이를 통해 개발 과정을 효율적으로 관리하고, 작업 시간을 효과적으로 단축할 수 있습니다.

## 특징

* 코드에서 구문을 서식 지정하고 강조 표시합니다.
* 입력할 때 코드의 문구를 자동 완성하는 기능을 제공합니다.
* 열린 스크립트 또는 전체 스크립트에서 코드를 찾고 변경할 수 있도록 도와줍니다.
* 코드 품질 및 이행에 대한 실시간 피드백을 제공합니다.
* 중단점을 활용한 강력한 디버깅 기능을 제공하여, 코드의 실행 흐름을 정밀하게 추적하고 문제를 효과적으로 분석할 수 있습니다.

## 사용 방법

### 스크립트 열기

Level Browser에서 스크립트를 더블클릭하면 Script Editor가 표시됩니다.

<figure><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fgit-blob-448dd94f080038df7468556edae8b515d89f08ee%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

### 단축키

| 단축키                   | 설명                                       |
| --------------------- | ---------------------------------------- |
| Ctrl+S                | 저장                                       |
| Ctrl+A                | 전체 선택                                    |
| Ctrl+C / Ctrl+V       | 복사/붙여넣기                                  |
| Ctrl+X                | 잘라내기                                     |
| Ctrl+Z / Ctrl+Shift+Z | 실행 취소/재실행                                |
| Ctrl+Wheel            | 폰트 확대 및 축소                               |
| Alt+↑ / Alt+↓         | 현재 커서가 위치한 라인의 텍스트과 윗라인/아랫라인의 텍스트을 서로 바꿈 |
| Ctrl+↑ / Ctrl+↓       | 한줄 높이만큼 스크롤                              |
| Ctrl+Home / Ctrl+End  | 첫번째 줄/마지막 줄로 이동                          |
| Ctrl+F                | 현재 스크립트에서 코드 찾기                          |
| Ctrl+H                | 현재 스크립트에서 코드 바꾸기                         |
| Ctrl+Shift+F          | 전체 스크립트에서 찾기/바꾸기                         |
| Ctrl+G                | 특정 줄로 이동                                 |
| Ctrl+W                | 스크립트 탭 닫기                                |
| Ctrl+/                | 선택한 영역 주석 설정 / 해제                        |

### 자동 완성

코드 입력 시 관련 함수, 변수, 구문을 제안하여 작성 속도를 높이고 생산성을 향상시킵니다.

<figure><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fgit-blob-c183efe4251cbea11db2cb7e12d731bf011453c1%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

자동 완성이 표시된 상태에서, 위쪽 및 아래쪽 화살표 키를 사용하여 제안 목록을 살펴본 다음, **Tab** 또는 **Enter**를 눌러 선택한 제안 내용을 스크립트에 삽입할 수 있습니다.

자동 완성이 필요하지 않다면, **Esc**를 눌러 자동 완성을 닫을 수 있습니다.

### Find and Replace

**찾기 기능(Ctrl+F)**&#xC774;나, **바꾸기 기능(Ctrl+H)**&#xC744; 통해 현재 스크립트에서 코드를 찾고 바꿀 수 있으며, 검색에 일치하는 내용이 여러개 있을 때, **Enter키**로 다음 내용으로 이동할 수 있습니다.

<figure><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fgit-blob-8f383ea8fb17515d05d358fe430e4188ce59ae2c%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

* 1️⃣ 대소문자 일치 여부
* 2️⃣ 전체 일치 여부
* 3️⃣ 정규 표현식 사용 여부
* 4️⃣ 다음 내용으로
* 5️⃣ 이전 내용으로
* 6️⃣ 닫기
* 7️⃣ 현재 선택된 단어 바꾸기
* 8️⃣ 전체 단어 바꾸기

### Find All and Replace All

**전체 찾기/바꾸기 기능(Ctrl+Shift+F)**&#xC744; 통해 전체 스크립트에서 코드를 찾고 바꿀 수 있으며, 결과 화면에 출력되는 코드 라인을 **더블 클릭**하면 해당 코드 라인으로 이동할 수 있습니다.

<figure><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fgit-blob-daebbe40af420ea0cc2193cbcdbd2cca67cb1faa%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

* 1️⃣ 대소문자 일치 여부
* 2️⃣ 전체 일치 여부
* 3️⃣ 정규 표현식 사용 여부
* 4️⃣ 다음 내용으로
* 5️⃣ 이전 내용으로
* 6️⃣ 스크립트 필터
* 7️⃣ 닫기
* 8️⃣ 현재 선택된 단어 바꾸기
* 9️⃣️ 전체 단어 바꾸기

### Problem

**Problem창**은 작성 중인 스크립트 대한 분석을 수행하고 활성 오류 및 경고를 표시합니다. 스크립트 에디터에서도 해당 코드에 대한 빨간색 밑줄이 표시됩니다.

Problem 패널에 표시된 로그를 **더블 클릭**하면 해당 코드 라인으로 이동할 수 있습니다.

<figure><img src="https://2697870212-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FhRPi87oM9ttlk5nyu7L7%2Fuploads%2Fgit-blob-cb5116fbd8bef4ab67128426f046932139ec3a75%2Fimage.png?alt=media" alt=""><figcaption></figcaption></figure>

### Breakpoint

**중단점(Breakpoint)** 기능은 스크립트 디버깅 도구로, 스크립트 실행 중 특정 위치에서 코드를 일시 중지하여 해당 지점의 상태를 조사하거나 문제를 분석하는 데 사용됩니다.

{% content-ref url="../../script-manual/debugging-and-optimization/breakpoint" %}
[breakpoint](https://docs.overdare.com/korean/manual/script-manual/debugging-and-optimization/breakpoint)
{% endcontent-ref %}
