SAFE EDIT 사용자 메뉴얼

탭별 오류 검출 기능 요약 · DAT 스크립트 자동 분석/하이라이트

분석 입력: alarm · rule · port · equip · area UI: 좌측 탭 + 우측 결과/에디터 하이라이트: 에디터에서 오류 위치 강조 고급 기능: 검색 · 자동저장 · 멀티탭 · 키보드 단축키

1️⃣ 미사용 항목 탭

미사용 항목 탭 예시 이미지
검출 대상조건표시/결과예외/비고
미사용 알람 (Unused Alarms) rule 텍스트와 매칭되지 않고, alarm 블록 변수도 area 이후 port 이름과 매칭되지 않음 alarm 블록 전체 하이라이트 -
미사용 룰 (Unused Rules) equip 이름과 매칭되지 않는 rule 헤더 rule 블록 전체 하이라이트 -
미사용 스위치 (Unused Switches) port 대괄호 토큰이 사용된 rule/alarm 블록에서 참조되지 않음 해당 포트 라인 전체 하이라이트 {화재복구, LOCK, 주경종, 지속, ALL, 전체} 제외
미사용 포트 (Unused Ports) 첫 area 블록 내 port 이름이 사용된 alarm 변수와 매칭되지 않음 port 라인 전체 하이라이트 &AC ~ _스위치 범위 제외, rule 등식 좌변 단어 제외

2️⃣ 누락 항목 탭

누락 항목 탭 예시 이미지
검출 대상조건표시/결과예외/비고
누락 알람 (Missing Alarms) rule 라인에 화재/가스/주의/경보/축적 단어가 있으나 alarm 목록에 없음 해당 라인 전체 하이라이트 대괄호 내부, 키워드 직후, …입력/…출력 단어 제외
누락 룰 (Missing Rules) equip는 있지만 동일 이름의 rule 헤더가 없음 equip 라인 전체 하이라이트 -
누락 스위치 (Missing Switches) 사용된 rule/alarm 블록의 대괄호 토큰이 area 이전(들여쓰기 0 레벨) port 선언에 없음 해당 라인 전체 하이라이트 예약 토큰 제외, 예약어 오타 라인 제외
누락 포트 (Missing Ports) 사용된 alarm 블록의 좌변 변수 이름이 첫 area 블록 내 port 이름과 매칭되지 않음 변수 등장 라인 전체 하이라이트 -

3️⃣ 구문 탭 (오타 검증 + 문법 검증)

TIP 구문 탭은 A) 오타 검증, B) 문법 검증으로 나뉘며, 조건과 메시지를 항목별로 제공합니다.
구문 탭 예시 이미지

3-A 오타 검증

검출 대상조건메시지예외/비고
포트 형식 오류 I/M/O/Q/B + 6자리 16진수 불일치 잘못된 포트 형식: {값} :xxx, =xxx 접미 무시
포트 개수 불일치 equip 쉼표 수 ≠ 동일 이름 rule 헤더 쉼표 수 포트 개수 불일치: rule=X, equip=Y -
예약어 오타 줄 시작 토큰이 예약어와 유사(Levenshtein ≤ 2)이나 불일치 예약어 오타: {token} → {suggestion} 해당 라인은 일부 문법/누락 스위치 검사 제외

3-B 문법 검증

검출 대상조건메시지예외/비고
중괄호 짝 오류 키워드 줄 이후 { 없음, 새 키워드 전 } 미닫힘, 파일 끝까지 미닫힘 {keyword} 닫힌/열린 중괄호가 없음 -
텍스트 라인 시작 문자 오류 rule/alarm 블록 외 라인의 공백 제외 첫 문자가 [A-Za-z{}] 아님 텍스트 라인 시작 문자 오류 -
괄호(()) 불일치 alarm/rule/port/equip 옆 여닫이 수 불일치 {keyword} 괄호 불일치: 열린괄호 X개, 닫힌괄호 Y개 -
세미콜론 누락 특수 키워드(alarm/rule/area/{/})나 vmode 키워드가 아닌 라인이 ;로 끝나지 않음 세미콜론(;) 없음 -
alarm 할당식 포맷 오류 VAR=[TOKEN]; 또는 VAR; 형태가 아님 대괄호 오류 '[스위치];' 형태 필요 -
rule 블록 내 대괄호 불완전 [ / ] 개수 불일치 또는 매칭 쌍 없음 대괄호 오류 미완성 -
연산자 인접/조합 오류 인접: ++, --, +=, ==, *-, =*, +- / 조합: ! 뒤에 +/−/=/* 연산자 붙음/조합 오류: '…' -
rule 등식 좌우 검증 좌측: 사용된 알람명, 첫 area 내 port, rule 헤더 3번째 이후 파라미터명 / 우측: rule 3번째 이후 파라미터 + 들여쓰기 0 레벨 port rule 등식 좌/우측 오류: '{word}'는 사용할 수 없습니다 -
area/equip 1·2번째 파라미터 유효성 1·2번째 파라미터가 0 이상 실수가 아님 area/equip 첫번째/두번째 파라미터 오류 -
alarm 헤더 파라미터 유효성 개수 ≠ 1·2, 첫 번째 ≠ '1'/'2', 두 번째 ∉ {화재, 경보, 주의, 가스} alarm 파라미터 개수/첫번째/두번째 파라미터 오류 -
area 전용 중괄호 구조 오류 들여쓰기 레벨별 area와 {/} 균형 불일치 area 열린/닫힌 중괄호가 없음 -err N -
아날로그 rule의 '주의' 라인 포맷 rule 헤더 첫 파라미터에 '아날로그' 포함 시, 블록 내 '주의' 우변이 %{rule_3번째_파라미터키}로 시작하지 않음 아날로그 '주의' 라인 포맷 오류 -
'축적' 단어와 rule 2번째 파라미터 일관성 2번째 파라미터 > 0 → 블록 내용에 '축적' 포함 필요 / '축적' 존재 → 2번째 파라미터 > 0 필요 "축적 시간이 0보다 큽니다. '축적'을 추가" / "'축적' 단어가 있습니다. 축적 시간을 0보다 크게 설정" -

4️⃣ 중복 검출 탭

중복 검출 탭 예시 이미지
검출 대상조건표시/결과예외/비고
중복 알람 (Duplicate Alarms) 동일 이름이 2회 이상 (사용된 항목만 집계) 해당 라인 하이라이트 -
중복 룰 (Duplicate Rules) 동일 이름이 2회 이상 (사용된 항목만 집계) 해당 라인 하이라이트 -
중복 스위치 (Duplicate Switches) 동일 이름이 2회 이상 해당 라인 하이라이트 -
중복 영역 (Duplicate Areas) 동일 상위 경로(블록 컨텍스트)에서 같은 이름 2회 이상 중복 위치(라인 번호, 이름) 목록 -
중복 포트 (Duplicate Ports) - - -

5️⃣ 아이콘 탭

아이콘 탭 예시 이미지
검출 대상조건표시/결과예외/비고
아이콘 파일 누락 사용되는 rule의 첫 번째 파라미터에 해당하는 .ico 파일이 선택된 폴더에 없음 트리뷰에 아이콘 파일 누락: {파라미터명}.ico hide 파라미터 제외

공통 기능

  • 하이라이트: 모든 오류 항목은 에디터에서 해당 라인 또는 토큰 위치를 강조합니다.
  • 탭별 하이라이트: 각 탭 버튼에 오류가 있으면 탭 버튼에 하이라이트 표시합니다.
  • 개수 표시: 각 탭 버튼에 오류 개수를 표시합니다.
  • 자동 저장/복구: 파일 수정 시 자동으로 저장, 이상 종료시 복구됩니다.

🚀 고급 기능

NEW SAFE EDIT의 강력한 고급 기능들을 활용하여 더욱 효율적으로 작업하세요.

🔍 검색 및 편집

기능설명단축키
실시간 검색 전체 파일에서 키워드 검색, 대소문자 구분/전체 단어 옵션 Ctrl+F
검색 하이라이트 검색 결과를 에디터에서 시각적으로 강조 표시 -
표식 설정 검색 결과에 북마크를 설정하여 빠른 이동 검색 다이얼로그
순환 검색 파일 끝에서 자동으로 처음으로 돌아가는 검색 검색 옵션
전체 바꾸기 문서 전체에서 모든 일치하는 텍스트를 한 번에 바꿈 바꾸기 다이얼로그
순차적 바꾸기 다음 하나씩 순서대로 바꾸기 (기본 포커스) 바꾸기 다이얼로그
선택 바꾸기 드래그로 선택한 영역에서만 바꾸기 바꾸기 다이얼로그

📐 세로 선택 (Column Selection)

기능설명사용법
세로 선택 시작 여러 줄의 동일한 열 위치를 세로로 선택 Alt + 클릭으로 시작점 설정
세로 선택 확장 드래그하여 세로 선택 영역 확장 Alt + 드래그로 영역 확장
세로 편집 선택된 모든 위치에 동일한 텍스트 입력 세로 선택 후 직접 타이핑
세로 삭제 선택된 모든 위치의 텍스트 삭제 Delete 또는 Backspace

⌨️ 키보드 단축키

기능단축키설명
DAT 분석 실행 F5 현재 파일의 모든 오류 검출 실행
새 파일 Ctrl+N 새 DAT 파일 생성
파일 열기 Ctrl+O 기존 DAT 파일 열기
저장 Ctrl+S 현재 파일 저장
검색 Ctrl+F 검색 다이얼로그 열기
바꾸기 Ctrl+H 바꾸기 다이얼로그 열기
실행 취소 Ctrl+Z 이전 작업 취소
다시 실행 Ctrl+Y 취소된 작업 복원
전체 선택 Ctrl+A 전체 텍스트 선택
세로 선택 Alt + 드래그 여러 줄의 동일한 열 위치를 세로로 선택

💾 자동 저장 및 복구

기능설명주기
자동 저장 백그라운드에서 변경된 파일을 자동으로 임시 저장 5분마다
복구 시스템 프로그램 이상 종료 시 복구 다이얼로그로 파일 복원 시작 시
탭별 추적 각 탭의 변경사항을 개별적으로 관리 실시간

🎨 UI/UX 기능

기능설명특징
프레임리스 창 커스텀 타이틀바와 창 제어 버튼 드래그 이동, 크기 조절
멀티탭 시스템 여러 DAT 파일을 동시에 편집 탭 드래그, 개별 닫기
드래그 앤 드롭 DAT 파일과 폴더를 드래그하여 열기 파일/폴더 지원
구문 하이라이팅 실시간 구문 강조 및 오류 표시 색상 구분
줄 번호 에디터 좌측에 줄 번호 표시 클릭 이동

⚡ 성능 최적화

기능설명효과
검색 캐시 LRU 캐시로 검색 결과 재사용 빠른 재검색
백그라운드 분석 UI 블로킹 없는 분석 처리 응답성 향상
청크 검색 대용량 파일을 청크 단위로 검색 메모리 효율성
스레드 분리 분석/UI 업데이트 스레드 분리 안정성 향상

사용법 요약

📋 기본 사용법

  1. 파일 열기: DAT 파일을 드래그 앤 드롭하거나 파일 메뉴로 엽니다.
  2. 자동 분석: 파일을 열면 즉시 모든 오류 검출이 실행됩니다.
  3. 탭별 확인: 좌측 사이드바 탭을 클릭하여 각 카테고리별 오류를 확인합니다.
  4. 오류 수정: 에디터에서 하이라이트된 오류 항목을, 복구 버튼을 사용하거나 직접 수정합니다.
  5. 아이콘 검증: 아이콘 탭에서 폴더를 선택하여 .ico 파일 존재 여부를 확인합니다.

🚀 고급 사용법

  1. 멀티탭 작업: 여러 DAT 파일을 동시에 열어 비교 분석합니다.
  2. 검색 활용: Ctrl+F로 특정 키워드를 빠르게 찾습니다.
  3. 바꾸기 활용: Ctrl+H로 텍스트를 효율적으로 바꿉니다.
  4. 세로 선택: Alt + 드래그로 여러 줄의 동일한 위치를 동시에 편집합니다.
  5. 자동 저장: 5분마다 자동으로 저장되어 작업 손실을 방지합니다.
  6. 복구 기능: 프로그램 이상 종료 시 복구 다이얼로그로 파일을 복원합니다.
  7. 키보드 단축키: F5로 빠른 재분석, Ctrl+Z/Y로 실행 취소/다시 실행합니다.

💡 효율적인 작업 팁

  • 탭 활용: 각 탭의 오류 개수를 확인하여 우선순위를 정하세요.
  • 검색 기능: 표식 설정으로 중요한 위치를 북마크하세요.
  • 바꾸기 기능: 전체/순차적/선택 바꾸기로 효율적인 텍스트 수정을 하세요.
  • 세로 선택: Alt + 드래그로 여러 줄의 동일한 위치를 동시에 편집하여 작업 효율을 높이세요.
  • 드래그 앤 드롭: 파일과 폴더를 직접 드래그하여 빠르게 열기하세요.
  • 하이라이팅: 오류 위치가 시각적으로 강조되어 수정이 용이합니다.
  • 성능 최적화: 대용량 파일도 청크 단위 처리로 빠르게 분석됩니다.