Feather 사용 설명서
Feather는 GML 코드 스크립트에서 지능형 코드 완성과 향상된 구문 검사를 제공하며, 스마트 리팩토링 옵션을 포함합니다. 이 문서에서는 Feather의 여러 기능에 대해 설명합니다.
기본 옵션
Feather의 기본 설정에는 다음과 같은 옵션이 포함되어 있습니다:
옵션 | 설명 |
---|---|
Feather 활성화 | Feather를 활성화하거나 비활성화합니다. 비활성화 시 IDE 전반에서 Feather 기능을 사용할 수 없습니다. |
문서 파싱 지연 | 스크립트 변경 후 Feather가 확인하기까지 대기하는 시간입니다. |
간결한 툴팁 | 이 옵션을 활성화하면 키워드 위에 마우스를 올렸을 때 나타나는 툴팁 정보가 줄어듭니다. |
최대 구조 필드 수 | 구조 참조 위에 마우스를 올렸을 때 툴팁에 표시되는 변수 수를 설정합니다. |
자산 이름 변경 시 참조 리팩토링 | 자산 브라우저에서 자산 이름을 변경할 때 코드 내의 모든 참조도 수정됩니다. |
멀티라인 JSDoc 주석 스타일 | Quick Fix 메뉴를 통해 생성된 JSDoc이 단일 또는 다중 라인 주석을 사용할지 결정합니다. |
엄격한 타입 모드 활성화 | 이 옵션이 활성화되면 Feather는 코드에서 올바른 데이터 타입 사용을 더 엄격하게 검사합니다. |
자동 생성된 이름의 룸 인스턴스 분석 안 함 | 새로 추가된 인스턴스에 대해 Feather가 분석하지 않도록 설정합니다. |
룸 인스턴스 분석 안 함 | 이 옵션이 활성화되면 Feather는 인스턴스 생성 코드나 새 룸 인스턴스를 재분석하지 않습니다. |
하이라이팅
이 섹션에서는 코드의 오류, 경고 또는 제안을 표시하기 위해 사용되는 색상을 변경하는 설정이 포함되어 있습니다:
설정 | 설명 |
---|---|
오류 색상 | 오류에 사용되는 색상입니다. |
경고 색상 | 경고에 사용되는 색상입니다. |
제안 색상 | 제안에 사용되는 색상입니다. |
메시지 심각도
이 섹션에서는 Feather가 코드를 검사하는 데 사용하는 모든 규칙을 포함하며 각 규칙의 심각도를 조정할 수 있습니다.
프로파일 | 설명 |
---|---|
없음 | 오류 메시지를 표시하지 않습니다. |
구문 오류 | 구문 오류를 표시하며, 없음 프로파일의 내용도 포함됩니다. |
타입 오류 | 구문 오류와 함께 타입 오류를 표시합니다. |
모두 | Feather가 분석할 수 있는 모든 내용을 표시합니다. |
GM* 규칙
규칙을 "오류", "경고" 또는 "제안"으로 설정할 수 있으며, 이는 코드 편집기와 Feather 메시지 창에서 규칙 위반 코드를 보고하는 방식에 영향을 미칩니다. 규칙을 "무시"로 설정하면 해당 규칙이 위반된 모든 인스턴스를 무시합니다.
명명 규칙
이 섹션에서는 자산, 변수 및 GML 코드의 다양한 부분에 대한 명명 규칙을 설정할 수 있습니다. GM2017 규칙이 활성화되어야 명명 규칙이 적용됩니다.
설정 | 설명 |
---|---|
식별자 블록리스트 | 모든 명명 규칙에서 무시할 식별자의 공백으로 구분된 목록입니다. |
자산, 매크로, 열거형, 함수 매개변수, 변수 등 각 유형의 식별자에 대한 명명 규칙을 설정할 수 있습니다. |
활용 예제
// Feather 기능을 활용한 코드 예제
var playerHealth = 100; // 플레이어의 체력 변수
if (playerHealth <= 0) {
// 플레이어가 죽었을 때의 처리
showGameOverScreen();
}
// JSDoc 주석 예제
/**
* 플레이어의 체력을 회복하는 함수
* @param {number} amount - 회복할 체력 양
*/
function healPlayer(amount) {
playerHealth += amount;
}
// 구조체 사용 예제
struct Player {
var name;
var health;
}
// 플레이어 구조체 생성
var player1 = new Player();
player1.name = "Hero";
player1.health = 100;
// 자산 이름 규칙 적용 예제
var obj_player = instance_create_layer(0, 0, "Instances", obj_player);
var obj_enemy = instance_create_layer(100, 100, "Instances", obj_enemy);
이 문서에서는 Feather의 다양한 기능과 설정을 설명했습니다. 추가적인 활용 방법이나 예제는 필요에 따라 더 작성할 수 있습니다.