Skip to content
| Marketplace
Sign in
Visual Studio Code>Linters>SOLID GDScriptNew to Visual Studio Code? Get it now.
SOLID GDScript

SOLID GDScript

Redping

| (0) | Free
SOLID 원칙 분석, 가이드, 체크 도구 for GDScript (Godot 4)
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SOLID GDScript - SOLID 원칙 분석기 for Godot 4

GDScript(Godot 4) 코드에서 SOLID 원칙 위반을 자동으로 감지하고, 개선 방법을 안내하는 VS Code 익스텐션입니다.

기능

기능 설명
🔍 실시간 분석 .gd 파일 편집 중 자동으로 SOLID 위반 감지
⚠️ Problems 패널 VS Code 기본 Problems 패널에 위반 표시
💡 Hover 가이드 위반 코드에 마우스 올리면 설명 + GDScript 예시
📊 대시보드 원칙별 점수 (0~100) 와 위반 목록 시각화
🏢 워크스페이스 분석 프로젝트 전체 .gd 파일 일괄 분석

SOLID 원칙별 체크 항목

S — Single Responsibility Principle (단일 책임 원칙)

  • 파일/클래스가 너무 큰 경우 (설정 가능한 최대 줄 수)
  • 클래스에 너무 많은 메서드가 있는 경우
  • _process() / _physics_process() 함수가 너무 많은 일을 직접 처리할 때
  • 함수가 UI, 입력, 물리, 저장 등 여러 책임을 혼재할 때

O — Open/Closed Principle (개방-폐쇄 원칙)

  • if/elif 또는 match 분기가 너무 많은 경우 (새 케이스 추가마다 수정 필요)
  • is 키워드로 타입을 확인해 분기하는 경우 (다형성 미사용)

L — Liskov Substitution Principle (리스코프 치환 원칙)

  • is 키워드를 사용한 타입 다운캐스팅
  • 오버라이드한 메서드가 비어(pass) 있는 경우 (부모 계약 파기)
  • super() 없이 Godot 가상 함수 오버라이드
  • push_error() / assert(false)로 기능 거부

I — Interface Segregation Principle (인터페이스 분리 원칙)

  • 너무 많은 public 메서드 (뚱뚱한 인터페이스)
  • pass만 있는 메서드가 많은 기반 클래스
  • 필요 없는 메서드를 구현하도록 강제하는 설계

D — Dependency Inversion Principle (의존성 역전 원칙)

  • $Node/Path 하드코딩된 노드 참조
  • get_node("HardcodedPath") 사용
  • ClassName.new() 직접 인스턴스화 (PackedScene 미사용)
  • 함수 내부에서 load("res://...") 직접 사용

사용법

자동 분석

.gd 파일을 열면 자동으로 분석이 시작됩니다.

커맨드 팔레트 (Ctrl+Shift+P)

SOLID GD: 현재 파일 분석
SOLID GD: SOLID 대시보드 열기
SOLID GD: 워크스페이스 전체 분석

상태 바

우하단 SOLID: 85/100 클릭 → 대시보드 열기

설정

settings.json에서 조정 가능:

{
  "solidGd.enableRealTimeAnalysis": true,
  "solidGd.srp.maxMethodsPerClass": 10,
  "solidGd.srp.maxLinesPerFunction": 30,
  "solidGd.srp.maxLinesPerFile": 300,
  "solidGd.ocp.maxBranchCount": 5,
  "solidGd.isp.maxPublicFunctions": 12,
  "solidGd.severity": "warning",
  "solidGd.enabledPrinciples": {
    "srp": true,
    "ocp": true,
    "lsp": true,
    "isp": true,
    "dip": true
  }
}

개발 및 빌드

npm install
npm run compile        # 단일 컴파일
npm run watch          # watch 모드

F5 키로 Extension Development Host 실행.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft