화면 구성과 조작
이 장에서 다루는 것
이 장에서는 PAIO 창을 이루는 영역(헤더 · 탐색기 · 에디터 · 하단 패널 · 상태바)이 각각 무엇을 담당하는지, 각 메뉴 항목과 버튼이 실제로 어떤 동작을 하는지, 그리고 레이블과 실제 동작이 다른 곳이 어디인지를 안내합니다. PAIO를 처음 여는 사용자와, 화면에서 특정 기능을 찾고 있는 사용자를 대상으로 합니다. 선행 조건은 없습니다. 설치와 로그인은 03. 설치 · 로그인 · 라이선스에서, 워크스페이스와 프로젝트 구조는 04. 워크스페이스와 프로젝트에서 다룹니다. 단축키만 빠르게 확인하려면 19. 단축키 총람을 참고하세요.
5.1 헤더 (상단바)
5.1.1 두 개의 메뉴
PAIO에는 메뉴가 두 벌 있습니다.
- 앱이 그린 메뉴 막대 — 헤더 왼쪽에 보이는 Project Edit View Help 입니다. 항목을 클릭하면 그 자리에서 동작이 실행됩니다. 메뉴 하나를 연 상태로 다른 메뉴 이름 위에 마우스를 올리면 그쪽 메뉴로 바로 바뀝니다.
- 네이티브 애플리케이션 메뉴 — Windows · Linux에서는 창에 보이지 않습니다. 이 메뉴는 화면 표시가 아니라 단축키(가속기) 등록을 담당합니다. macOS에서는 화면 상단 메뉴 막대에 나타납니다.
두 메뉴는 항목 구성이 다릅니다. 아래 표의 "동작"은 모두 앱이 그린 메뉴 기준이며, 두 메뉴가 갈리는 지점은 다음과 같습니다.
| 구분 | 앱이 그린 메뉴 | 네이티브 메뉴 |
|---|---|---|
| Project | Save All 있음 | Save All 없음 |
| Edit | Undo · Redo · Cut · Copy · Paste · Select All | 위 항목에 더해 Delete 있음 |
| View | Toggle Sidebar · Toggle Panel · 확대/축소 3종 · Toggle Full Screen | Reload · Force Reload · 확대/축소 3종 · Toggle Fullscreen |
| Help | Report Issue가 https://autosar.io/support/qna 를 엽니다 | Report Issue가 https://github.com/popcornsar/PAIO/issues 를 엽니다 |
5.1.2 Project 메뉴
Project 메뉴의 항목과 동작은 다음과 같습니다.
| 항목 | 표기된 단축키 | 동작 |
|---|---|---|
| New Project | Ctrl+N | 새 프로젝트 생성 흐름을 엽니다. 워크스페이스가 열려 있지 않으면 먼저 워크스페이스 선택 대화상자가 뜹니다 |
| Quick Start | — | 새 프로젝트를 만든 뒤 AI 워크플로 편집기를 엽니다. 워크스페이스가 없으면 먼저 워크스페이스를 고르는 단계가 진행됩니다 |
| Open Workspace... | Ctrl+O | 워크스페이스 폴더 선택 대화상자를 엽니다 |
| Save | Ctrl+S | 활성 그룹의 활성 에디터를 저장합니다 |
| Save As... | Ctrl+Shift+S | 동작하지 않습니다 (아래 참고) |
| Save All | — | 활성 프로젝트의 변경된 에디터를 모두 저장합니다 |
| Exit | Alt+F4 | 창을 닫습니다. 변경분이 있으면 저장 여부를 먼저 묻습니다 |
New Project, Quick Start, Save, Save All 은 라이선스 게이트를 통과해야 실행됩니다. 라이선스가 만료되었거나 읽기 전용이면 실행 대신 업그레이드 안내 다이얼로그가 뜹니다 (03. 설치 · 로그인 · 라이선스 참고). Open Workspace... 에는 게이트가 없습니다.
Alt+F4 는 OS가 처리하는 창 닫기이며 앱이 등록한 키가 아닙니다. 다만 창 닫기 자체를 앱이 가로채
저장 확인을 거치므로, 헤더의 Exit · 창 오른쪽 ✕ · Alt+F4 는 모두 같은 종료 흐름을 탑니다.
Save As...는 동작하지 않습니다. 메뉴 항목과 명령 팔레트 항목이 노출되어 있지만, 메뉴를 클릭해도
Ctrl+Shift+S를 눌러도 전역에서는 아무 일이 일어나지 않습니다. "다른 이름으로 저장"이 실제로 동작하는 곳은 두 군데뿐입니다. IVC 에디터(Save IVC Diagram대화상자가 열립니다)와 DataType 에디터(Save DataTypes대화상자가 열립니다)입니다.
Save All은 활성 프로젝트만 저장합니다. 한 창에 여러 프로젝트의 에디터가 함께 열려 있을 수 있는데, 메뉴의 Save All 은 활성 탭이 속한 프로젝트로 범위를 좁힙니다. 앱을 닫을 때 뜨는 저장 확인에서 Save 를 고르면 그때는 열린 모든 프로젝트의 변경분을 저장합니다. 같은 확인에서 Discard 를 고르면 아무것도 저장하지 않고 닫습니다.
5.1.3 Edit 메뉴
Edit 메뉴의 항목과 동작은 다음과 같습니다.
| 항목 | 표기된 단축키 | 동작 |
|---|---|---|
| Undo | Ctrl+Z | 프로젝트 이력에서 가장 최근 작업을 되돌립니다 |
| Redo | Ctrl+Y | 되돌린 작업을 다시 실행합니다 |
| Cut | Ctrl+X | 브라우저 클립보드 명령(cut)을 실행합니다 |
| Copy | Ctrl+C | 브라우저 클립보드 명령(copy)을 실행합니다 |
| Paste | Ctrl+V | 브라우저 클립보드 명령(paste)을 실행합니다 |
| Select All | Ctrl+A | 브라우저 전체 선택 명령을 실행합니다 |
Cut / Copy / Paste / Select All 은 텍스트 입력 요소에 대한 브라우저 명령입니다. 캔버스 노드나 표의 행을 복사하는 기능이 아닙니다.
Undo / Redo 항목은 되돌릴 작업 이름을 함께 보여 줍니다(예:
Undo Move — ECU_1 › CAN_Conn). 되돌릴 것이 없으면 항목이 비활성이 되고 레이블은Undo/Redo로만 표시됩니다.
5.1.4 View 메뉴
View 메뉴의 항목과 동작은 다음과 같습니다.
| 항목 | 표기된 단축키 | 동작 |
|---|---|---|
| Toggle Sidebar | Ctrl+B | 좌측 프로젝트 탐색기를 표시/숨김 |
| Toggle Panel | Ctrl+J | Utility 패널(History / Problems)을 표시/숨김 |
| Zoom In | Ctrl++ | 화면 배율을 0.1 키웁니다 |
| Zoom Out | Ctrl+- | 화면 배율을 0.1 줄입니다 (하한 0.5배) |
| Reset Zoom | Ctrl+0 | 배율을 1.0배로 되돌립니다 |
| Toggle Full Screen | F11 | 전체 화면 전환 |
Ctrl+J표기에 주의가 필요합니다. 메뉴에는 Toggle Panel 옆에Ctrl+J가 적혀 있지만, 실제 키보드Ctrl+J는 터미널 패널을 토글합니다. Utility 패널을 키보드로 여는 단축키는 없으므로, 메뉴 항목 또는 상태바의 패널 버튼을 사용합니다.
메뉴 클릭과 키 입력은 서로 다른 방식으로 배율을 바꿉니다(05.7 참조).
5.1.5 Help 메뉴
Help 메뉴의 항목과 동작은 다음과 같습니다.
| 항목 | 동작 |
|---|---|
| Report Issue | https://autosar.io/support/qna 를 기본 브라우저로 엽니다 |
| About PAIO | 버전 정보 다이얼로그를 엽니다 |
| Check for Updates | 업데이트 확인을 실행하고 결과를 우하단 토스트로 보여 줍니다 |
About PAIO 다이얼로그는 제목 PopcornSAR PAIO, Version: <버전>, 제품 설명, 연락처
contact@popcornsar.com, 저작권 문구를 담고 있습니다. OK 버튼, 오른쪽 위 ×, 바깥 영역 클릭,
Escape 중 어느 것으로도 닫을 수 있습니다.
Check for Updates 의 결과는 제목이 Software Update 인 토스트로 우하단에 뜹니다. 토스트는
오른쪽 위의 × 로도 닫을 수 있습니다. 결과 토스트의 문구와 버튼, 백그라운드 확인 동작은
3.5 를 참조하세요.
5.1.6 헤더 오른쪽 영역
헤더 오른쪽에 있는 요소와 동작은 다음과 같습니다.
| 요소 | 동작 |
|---|---|
| 로봇 아이콘 | AI Chat 우측 도크를 열고 닫습니다. 툴팁은 AI Chat Panel 입니다 |
| 사용자 아이콘 | Profile 과 Sign Out 을 담은 드롭다운을 엽니다 |
– | 창 최소화 (툴팁 Minimize) |
□ / ⧉ | 창 최대화 / 이전 크기로 복원 (툴팁 Maximize / Restore Down) |
✕ | 창 닫기 (툴팁 Close) |
라이선스가 만료되어 편집 권한이 없으면 로봇 아이콘이 비활성이 되고 툴팁이 Plan expired 로
바뀝니다. 로그인한 사용자의 아이콘에는 이름에서 뽑은 이니셜(최대 두 글자)이 표시됩니다.
Sign Out 은 저장하지 않은 탭이 있을 때만 확인 창을 띄운 뒤 로그아웃하고 로그인 화면을
띄웁니다.
5.1.7 헤더 가운데 제목
헤더 가운데 제목은 항상 PAIO 로 고정되어 있으며 워크스페이스 이름이나 원격 연결 상태를
표시하지 않습니다. 원격 연결 상태는 상태바 왼쪽의 원격 표시기에서 확인할 수 있습니다.
5.2 프로젝트 탐색기 (좌측)
사이드바 머리글은 워크스페이스 폴더 이름과 연결 종류를 함께 보여 줍니다. 상태별 머리글 표기는 다음과 같습니다.
| 상태 | 머리글 |
|---|---|
| 워크스페이스 없음 | EXPLORER |
| 로컬 | EXPLORER: <폴더명> |
| SSH 연결 | EXPLORER: <폴더명> [SSH: <호스트>] |
| WSL | EXPLORER: <폴더명> [WSL: <배포판>] |
| 컨테이너 | EXPLORER: <폴더명> [Container: <컨테이너명>] |
컨테이너 이름을 알 수 없으면 뒤쪽 표기가 [Container] 로 줄어듭니다.
머리글 오른쪽에는 버튼이 세 개 있습니다.
| 버튼 | 툴팁 | 동작 |
|---|---|---|
| 새로 고침 | Refresh Explorer | 트리를 다시 읽습니다 |
| 접기/펼치기 | Collapse All | 펼쳐진 노드가 하나라도 있으면 모두 접고, 하나도 없으면 모두 펼칩니다 |
| 점 세 개 | More Actions... | 눌러도 아무 일도 일어나지 않습니다 |
트리의 조작 방법과 프로젝트 구조는 04. 워크스페이스와 프로젝트에서 다룹니다. 탐색기에서 쓰는 키는 18.8 탐색기에 정리되어 있습니다.
5.3 에디터 영역
5.3.1 환영 화면
열린 탭이 하나도 없으면 환영 화면이 나타납니다. 제목 Welcome to PAIO, 부제
Software Defined Vehicle Development Tool, 그리고 PAIO v<버전> 이 표시됩니다. 아래 버튼은
연결 상태에 따라 달라집니다.
- 로컬: Open Workspace 와 New Project 두 개
- SSH · WSL · 컨테이너 세션 중: Open Folder 한 개
탭을 하나라도 열면 환영 화면이 사라지고 에디터가 나타납니다.
5.3.2 탭
탭에서 할 수 있는 조작은 다음과 같습니다.
| 조작 | 결과 |
|---|---|
| 클릭 | 탭 활성화 |
Enter 또는 Space (탭에 포커스) | 탭 활성화 |
| 가운데 버튼 클릭 | 탭 닫기 |
✕ 버튼 | 탭 닫기 |
| 우클릭 | 탭 컨텍스트 메뉴 |
| 드래그 | 탭 순서 변경 · 다른 그룹으로 이동 · 분할 |
에디터 탭 제목 위에 마우스를 올리면 전체 파일 경로가
툴팁으로 뜹니다. 제목 형식은 프로젝트명:노드명 입니다(예: HONDA:System). 노드 경로로
프로젝트를 찾지 못하면 노드 이름만 표시합니다.
변경된 탭에는 더티 표시(●)가 붙습니다. 이 표시는 편집 이력에 기록된 작업이 있는지에서 파생됩니다. 따라서 편집을 저장하면 사라지고, 저장 지점까지 실행 취소해도 사라집니다.
탭이 탭 바 너비를 넘어서면 탭 바가 가로로 스크롤됩니다. 마우스를 올리면 얇은 스크롤 막대가 나타납니다. 참고로 넘친 탭을 목록으로 보여 주는 버튼은 없습니다.
동시에 열 수 있는 탭은 전체 그룹을 합쳐 최대 20개입니다. 한도에 도달하면 새 탭이 열리지
않으며 화면에는 아무 안내도 나오지 않습니다(개발자 콘솔에만
Maximum number of tabs (20) reached 가 기록됩니다). 같은 파일을 다시 열면 새 탭을 만들지 않고
이미 열린 탭으로 이동합니다.
5.3.3 탭 컨텍스트 메뉴
탭을 우클릭하면 네 항목이 나옵니다.
| 항목 | 동작 |
|---|---|
| Close | 그 탭을 닫습니다. 변경분이 있으면 저장 여부를 묻습니다 |
| Close Others | 그 탭만 남기고 같은 그룹의 나머지를 닫습니다 |
| Close Saved | 같은 그룹에서 변경분이 없는 탭만 닫습니다 |
| Close All | 같은 그룹의 모든 탭을 닫습니다 |
메뉴는 화면 밖으로 나가지 않도록 위치가 보정되며, Escape · 바깥 클릭 · 다른 곳 우클릭으로
닫힙니다. ArrowUp / ArrowDown / Home / End 로 항목 사이를 이동하고 Enter 또는 Space 로
실행합니다.
Close 로 변경분이 있는 탭을 닫으려 하면 Unsaved Changes 다이얼로그가 뜨고 본문은
Do you want to save the changes to <탭 제목>? 입니다. Save 를 고르면 저장 후 닫고,
Discard 는 저장하지 않고 닫으며, Cancel 은 아무 일도 하지 않습니다. 저장이 오류로
실패하면 탭은 닫히지 않습니다.
Close Others와 Close All은 저장 여부를 묻지 않습니다. 이 두 항목은 대상 탭을 곧바로 닫으며, 변경분이 있는 탭도 확인 없이 닫힙니다. 저장하지 않은 편집을 남겨 두려면 Close Saved 를 사용하거나, 먼저 저장한 뒤 닫는 것이 좋습니다.
5.3.4 분할 보기
분할을 실행하는 메뉴 항목이나 버튼은 없습니다. 분할은 탭을 끌어다 놓는 조작으로만 만듭니다.
탭을 드래그해 다른 위치에 놓으면 그 위치에 따라 결과가 달라집니다.
- 에디터 본문의 오른쪽 절반에 놓으면 → 그룹이 좌우로 분할되고, 새로 생긴 오른쪽 그룹으로 탭이 옮겨집니다.
- 에디터 본문의 왼쪽 절반에 놓으면 → 분할하지 않고 그 그룹으로 탭을 옮깁니다. 같은 그룹이면 아무 일도 일어나지 않습니다.
- 탭 바 위에 놓으면 → 같은 그룹이면 순서를 바꾸고, 다른 그룹이면 그 그룹으로 옮깁니다. 삽입 위치를 알리는 세로 선이 나타납니다.
놓기 전 미리보기는 두 경우 모두 나타납니다. 오른쪽 절반에서는 그 절반만, 왼쪽 절반에서는 본문 전체가 점선 테두리와 옅은 강조색으로 덮입니다. 오른쪽 절반일 때는 가운데에 세로 분할선이 그려진 사각형 표식이 함께 나오므로, 이 표식이 보이는지로 "분할"과 "그냥 이동"을 구분할 수 있습니다.
이렇게 만든 창을 에디터 그룹이라고 합니다. 분할은 좌우 방향만 지원합니다. 위아래로 나누는 조작은 없습니다. 새로 만든 그룹과 기존 그룹은 50 대 50 으로 시작하고, 사이의 경계선을 드래그해 비율을 바꿉니다. 양쪽 어느 한쪽이 10% 아래로 내려가는 드래그는 무시됩니다. 탭을 모두 옮겨 비게 된 그룹은 자동으로 사라지고, 남은 그룹들이 남은 너비를 나눠 가집니다. 마지막 그룹의 탭까지 모두 닫으면 분할이 풀리고 환영 화면으로 돌아갑니다.
5.3.5 에디터 종류
탭은 노드 종류에 따라 아래 에디터 중 하나로 열립니다. 확장자가 이미지(.png .jpg .jpeg
.gif .svg .webp .bmp)면 종류와 무관하게 이미지 뷰어로 열립니다.
모델 편집기는 다음 아홉 가지입니다.
| 종류 | 표시 이름 | 설명 |
|---|---|---|
QuickStartPage | Quick Start | AUTOSAR 템플릿 기반 워크플로 생성기 |
SystemPage | System | 시스템 구성과 속성 |
IvcPage | In-Vehicle Network | 차량 내 통신 토폴로지 |
SignalPage | Signal | Signal / PDU / Frame 사전 |
VfbPage | VFB | Virtual Functional Bus 아키텍처 |
InterfacePage | Interface | 인터페이스 사전 |
DataTypePage | Data Type | 데이터 타입 사전 |
ModuleDefinitionPage | Module Definition | ECUC Module Definition 편집기 |
ModuleConfigPage | Module Config | ECUC Module Configuration 편집기 |
나머지 여섯 가지는 파일 편집기와 뷰어입니다.
| 종류 | 표시 이름 | 설명 |
|---|---|---|
CodeEditor | Code | XML / ARXML / DBC를 여는 Monaco 기반 에디터 |
CCodeEditor | C/C++ Code | C · C++ · Rust 소스 편집기 |
MarkdownEditor | Markdown | Markdown 문서 편집기 |
TextEditor | Text | 일반 텍스트 편집기 |
ImageViewer | Image | 이미지 뷰어 |
HtmlPreview | HTML | HTML 렌더링 미리보기 |
5.3.6 저장 · 실행 취소 · 다시 실행
편집 가능한 에디터는 모두 저장 · 실행 취소 · 다시 실행을 함께 제공하며, 이 셋은 프로젝트마다 하나뿐인 편집 이력을 통해 동작합니다. 따라서 다음이 성립합니다.
- 어느 에디터에서 한 편집이든 Edit ▸ Undo 로 되돌릴 수 있습니다.
- 활성 탭이 편집 불가 에디터(코드 · 이미지 · 텍스트)여도 Edit ▸ Undo 와 명령 팔레트의 Undo는
동작하며, 되돌린 대상이 있는 에디터로 자동 이동합니다. 반면 물리
Ctrl+Z는 각 에디터가 직접 처리하므로 편집 불가 탭에서는 아무 일도 일어나지 않습니다. - 저장하면 그 시점이 "변경 없음" 기준으로 기록됩니다. 이력이 지워지는 것은 아니므로, 저장 뒤에도 계속 실행 취소할 수 있고 저장 지점까지 되돌아오면 다시 변경 없음 상태가 됩니다.
- 분할해서 여러 그룹이 있어도 메뉴와 명령 팔레트의 Undo / Redo / Save는 활성 그룹에서 한 번만 실행됩니다.
물리 Ctrl+S 는 각 에디터가 자기 영역에서 직접 처리합니다. 어느 에디터도 잡지 못한 Ctrl+S(예:
팝업 메뉴를 클릭한 직후 포커스가 본문으로 빠진 상태)는 메뉴 Save 와 똑같은 경로로 저장합니다.
에디터가 키를 이미 소비했다면 그렇지 않습니다. XML 에디터의 보기 모드가 그 예로, 여기서는
Ctrl+S 가 소비되기만 하고 저장은 일어나지 않습니다.
5.3.7 외부 변경 감지
에디터가 열어 둔 파일이 외부에서 바뀌면(임포트, 다른 도구, 원격 동기화 등) 그 내용을 다시 읽어 화면에 반영합니다. 다만 저장하지 않은 편집이 있거나 편집이 진행 중이면 다시 읽지 않습니다.
이는 버그가 아니라 의도된 보호 장치입니다. 다시 읽으면 사용자가 아직 저장하지 않은 편집이 아무
흔적 없이 사라지기 때문에, PAIO는 화면 갱신보다 편집 보존을 택합니다. 이때는 다시 읽지 않았음을
알리는 경고가 뜨는데, 문구는
<모델> file changed on disk. Keeping your unsaved edits - save to overwrite the external change.
형태입니다(같은 파일에 대해 5초 안에 반복되면 한 번만 표시합니다). 열려 있는 설정 다이얼로그가
편집 중일 때도 마찬가지로 다시 읽지 않습니다.
5.3.8 XML / ARXML 에디터
export/ 등에 있는 .arxml · .xml · .dbc 파일을 열면 Monaco 기반 에디터가 뜹니다. 위쪽에
툴바, 가운데 편집 영역, 아래에 PROBLEMS 패널과 상태 표시줄이 있습니다. 툴바 버튼은 다음과
같습니다.
| 버튼 | 툴팁 | 동작 |
|---|---|---|
| 눈/연필 아이콘 | Switch to Edit mode / Switch to View mode | 보기 모드 ↔ 편집 모드 전환 |
| 저장 | Save (Ctrl+S) | 파일 저장 |
| 실행 취소 | Undo (Ctrl+Z) | Monaco 편집 취소 |
| 다시 실행 | Redo (Ctrl+Y) | Monaco 편집 다시 실행 |
| 서식 | Format XML (Shift+Alt+F) | XML을 들여쓰기해 정리합니다 |
기본은 보기 모드이며, 이때 저장 · 실행 취소 · 다시 실행 · 서식 네 버튼은 모두 비활성입니다.
눈 아이콘을 눌러 편집 모드로 바꾸면 활성화됩니다. 서식 버튼은 .dbc 파일에서는 아예 표시되지
않습니다. 다만 버튼만 숨겨질 뿐 Shift+Alt+F 키는 그대로 살아 있어, .dbc 를 편집 모드로 두고
이 키를 누르면 XML 서식 함수가 그대로 실행됩니다.
아래 상태 표시줄은 커서 위치(Ln 1, Col 1), 인코딩(UTF-8), 선택 문자 수(N selected), 스키마
버전(Schema: ...), 검사 요약(✓ No problems 또는 오류/경고 개수)을 보여 줍니다. 선택 · 스키마 ·
검사 항목은 해당 정보가 있을 때만 나타납니다.
PROBLEMS 패널은 기본이 접힌 상태이고 머리글을 눌러 펼칩니다. 오류가 하나라도 검출되면 저절로
펼쳐집니다. 펼치면 편집 영역과 대략 7 대 3 으로 공간을 나눕니다. 문제가 없으면 No problems found
를 표시합니다. 행을 클릭하면 해당 위치로 이동합니다.
검사는 파일을 연 직후 한 번 실행되고, 그 뒤로는 내용이 바뀔 때마다 잠시 뒤 다시 실행됩니다. 보기 모드에서도 첫 검사가 실행되므로 편집 모드로 바꾸지 않아도 결과를 볼 수 있습니다. 사용되는 검사기는 확장자에 따라 갈립니다.
| 확장자 | 검사기 | 비고 |
|---|---|---|
.arxml · .xml | AUTOSAR 스키마 검사 | 문서의 xsi:schemaLocation 에 적힌 AUTOSAR_NNNNN.xsd 번호로 판을 고르고, 그 결과를 상태 표시줄의 Schema: ... 에 함께 표시합니다 |
.dbc | DBC 포맷 검사 | 줄 단위 검사이며 스키마 표시는 나오지 않습니다 |
DBC 검사가 오류로 보고하는 것은 프레임 ID 범위 초과, 음수이거나 64를 넘는 DLC, 시그널의
시작 비트·비트 길이가 DLC 범위를 벗어남, factor 가 0, 필수 섹션 누락, VAL_ 줄의 세미콜론
누락, 닫히지 않은 CM_ 주석, 이름에 쓸 수 없는 문자입니다. 경고로 보고하는 것은 한 프레임 안
시그널의 비트 겹침, 프레임·시그널 이름 중복, 최소값이 최대값보다 큰 경우, 빈 송신자입니다.
편집 모드에서는 < 를 입력할 때 현재 부모 요소 아래에 올 수 있는 AUTOSAR 자식 요소를 자동
완성으로 제안합니다.
5.4 하단 패널
에디터 영역 아래쪽에는 서로 독립적인 패널이 세 개 있습니다(Utility · TERMINAL · VALIDATION). 세 패널은 위에서 아래로 이 순서로 쌓이며, 각각 따로 켜고 끌 수 있습니다. 높이는 위쪽 경계선을 드래그해 조절합니다. AI Chat 도크는 본문의 세 번째 칸으로, 열리면 에디터 영역이 그만큼 줄어듭니다.
각 영역의 기본 표시 여부는 다음과 같습니다. 크기는 모두 경계를 드래그해 조절할 수 있습니다.
| 영역 | 기본 표시 |
|---|---|
| 좌측 사이드바 (EXPLORER) | 표시 |
| Utility 패널 | 숨김 |
| TERMINAL 패널 | 숨김 |
| VALIDATION 패널 | 숨김 |
| AI Chat 도크 | 숨김 |
다섯 영역의 표시 여부와 크기는 저장되어, 앱을 다시 켜도 유지됩니다.
5.4.1 Utility 패널 — History / Problems
History 와 Problems 두 개의 탭이 있고, 기본은 History 입니다. 오른쪽 위 ✕(툴팁
Close Panel)로 패널을 닫습니다.
History 는 활성 프로젝트의 편집 이력을 최신 순으로 보여 줍니다. 구성은 위에서부터 다음과 같습니다.
- 다시 실행할 수 있는 작업들 (흐리게 표시)
Current state표시선- 이미 적용된 작업들
Initial state행
각 행은 아이콘, 작업 이름, 대상 에디터/파일 태그, HH:MM:SS 시각으로 이루어지고, 마우스를 올리면
대상 파일 경로와 전체 시각이 툴팁으로 뜹니다. 한 번 클릭은 선택이고, 더블클릭하면 그 시점으로
이동합니다. 흐리게 표시된 행을 더블클릭하면 앞으로 이동합니다. Initial state 더블클릭은 적용된
작업이 하나라도 있을 때만 동작합니다. 이동이 진행되는 동안 목록은 조작을 받지 않습니다.
이력이 하나도 없으면 No edits yet in this project. 를 표시합니다(활성 프로젝트가 정해지지 않은
경우에는 No edits yet.).
History는 활성 프로젝트의 이력만 보여 줍니다. 한 창에 여러 프로젝트가 열려 있어도 다른 프로젝트의 작업은 나타나지 않으며, 시점 이동이 다른 프로젝트의 작업을 되돌리는 일도 없습니다.
Problems 탭은 현재 No problems have been detected. 라는 안내만 표시합니다. 실제 진단은 다른
곳에 나옵니다. 코드/XML 진단은 해당 에디터 하단의 PROBLEMS 패널에, 모델 제약 위반은 VALIDATION
패널에 표시됩니다.
5.4.2 TERMINAL 패널
터미널 패널의 버튼과 동작은 다음과 같습니다.
| 버튼 | 툴팁 | 동작 |
|---|---|---|
- | Decrease | 글자 크기를 줄입니다 |
+ | Increase | 글자 크기를 키웁니다 |
| 새 터미널 | New Terminal | 터미널을 추가합니다 |
| 분할 | Split Terminal | 터미널을 분할합니다 |
| 종료 | Kill Terminal | 현재 터미널을 종료합니다 |
✕ | Close Panel | 패널을 닫습니다 |
Ctrl+J 또는 Ctrl+` 로 패널을 열 때 터미널이 하나도 없으면 자동으로 하나 만들어 줍니다.
자세한 내용은 16. 코드 편집 · 빌드 · 터미널을 참고하세요.
5.4.3 VALIDATION 패널
AUTOSAR 제약 위반 목록을 표 형태로 보여 줍니다. 열은 Element Type, Name, Description,
Constr 네 개이며, 열 경계를 드래그해 너비를 조절합니다. 머리글 오른쪽에는 버튼이 세 개
있습니다.
| 버튼 | 툴팁 | 동작 |
|---|---|---|
| 최소화 | Minimize | 패널을 최소 높이로 줄입니다 |
| 최대화 | Maximize / Restore | 허용 최대 높이로 키우거나 이전 높이로 되돌립니다 |
✕ | Close Panel | 패널을 닫습니다 |
같은 제약에 걸린 요소가 여럿이면 먼저 묶음 행으로 표시됩니다. 묶음 행을 클릭하면 접힌 목록이
펼쳐지고(툴팁 Expand to mark each element individually), 개별 위반 행을 클릭하면 해당 요소가
있는 에디터가 열리고 그 요소가 선택됩니다(툴팁 Go to the element to fix). 자세한 내용은
14. Validation을 참고하세요.
5.5 상태바 (하단)
5.5.1 왼쪽
가장 왼쪽에 원격 표시기(>< 아이콘)가 항상 있습니다. 연결되지 않았을 때는 아이콘만 있고
툴팁이 Open a Remote Window 이며, 연결되면 초록 배경과 함께 레이블이 붙습니다.
| 상태 | 레이블 |
|---|---|
| 미연결 | (없음) |
| SSH 연결 | SSH: <호스트> |
| 연결 중 | Connecting... |
| 연결 오류 | Connection Error |
| 컨테이너 | Container: <컨테이너명> |
| WSL | WSL: <배포판> |
연결된 상태에서는 툴팁 뒤에 · Click to manage 가 붙습니다. 클릭하면 원격 연결 메뉴가
열립니다(17. 원격 개발 참고).
그 오른쪽에는 패널 토글 버튼이 네 개 있습니다.
| 버튼 | 툴팁 | 동작 |
|---|---|---|
| 탐색기 | Toggle Project Explorer (Ctrl+B) | 좌측 사이드바 토글 |
| 패널 | Toggle Panel (History / Problems) | Utility 패널 토글 |
| 터미널 | Toggle Terminal (Ctrl+`) | 터미널 패널 토글 |
| 검증 | Toggle Validation | VALIDATION 패널 토글 |
패널이 열려 있는 동안 해당 버튼은 활성 상태로 강조됩니다.
검증 버튼에는 위반 개수 배지가 붙습니다. 개수가 0이면 배지가 사라지고, 99를 넘으면 99+ 로
표시합니다. 색상은 가장 심각한 등급을 따릅니다(오류 → 경고 → 정보 순). 이때 버튼 툴팁은
Validation: N error(s), N warning(s), N info(s) 로 바뀝니다. 검증 자체가 실행되지 못한 경우에는
배지에 ! 가 뜨고 툴팁이 Validation could not run — open the Validation panel 이 됩니다. 실패를
"위반 0건"과 구분하기 위한 표시입니다.
버튼 오른쪽에는 상태 문자열이 있습니다. 평소에는 Ready, 작업이 진행 중일 때는 Loading...
입니다.
5.5.2 오른쪽
상태바 오른쪽에 있는 요소와 동작은 다음과 같습니다.
| 요소 | 표시 | 동작 |
|---|---|---|
| 라이선스 | Trial — 30d / Pro / Pro - 5 days / License Expired | 클릭하면 다이얼로그가 열립니다 |
| 업데이트 아이콘 | 새 버전이 있을 때만 나타납니다 | 클릭하면 업데이트를 다시 확인하고 결과 토스트를 띄웁니다 |
| 버전 | v0.5.0 형식 | — |
라이선스 표시를 클릭했을 때 열리는 다이얼로그는 요금제에 따라 다릅니다. Trial 이면 업그레이드
안내가, 그 밖의 요금제면 License Info 다이얼로그(요금제 · 만료일 · 남은 일수)가 열립니다. 만료가
가까우면 제목이 License Expiring Soon, 이미 만료되었으면 License Expired 가 되고 Renew Pro
버튼이 함께 나옵니다. 마우스를 올렸을 때의 툴팁은 Click to manage license 입니다.
업데이트 아이콘의 툴팁은 Update available · <버전> 입니다. 클릭했을 때의 동작과 결과 토스트는
3.5 를 참조하세요.
5.6 명령 팔레트
Ctrl+Shift+P 로 열고, 같은 키를 다시 누르거나 Escape 를 누르거나 바깥을 클릭하면 닫힙니다.
입력란의 안내 문구는 Type a command... 이고 앞에 > 표시가 붙습니다.
검색은 퍼지 검색입니다. 입력한 문자들이 카테고리 + 이름 안에 그 순서대로 나타나기만 하면
결과에 포함됩니다(예: tgt 는 View: Toggle Terminal 에 걸립니다). 일치하는 항목이 없으면
No matching commands 를 표시합니다.
팔레트 안에서 사용하는 키는 다음과 같습니다.
| 키 | 동작 |
|---|---|
ArrowDown / ArrowUp | 항목 이동 |
Tab / Shift+Tab | 항목 이동 |
Enter | 선택한 명령 실행 |
Escape | 닫기 |
목록은 마우스를 올린 항목이 곧바로 선택되며, 클릭하면 실행됩니다.
5.6.1 등록된 명령
등록된 명령은 모두 30개입니다. 아래 표가 전체 목록입니다.
| 카테고리 | 명령 |
|---|---|
| Project | New Project, Open Workspace... |
| File | Save, Save As..., Save All |
| Model | Derive Signal (CP-SOA), PARA: Import Platform |
| Edit | Undo, Redo, Cut, Copy, Paste, Select All |
| View | Toggle Sidebar, Toggle Panel, Toggle Terminal, Zoom In, Zoom Out, Reset Zoom, Toggle Full Screen |
| AI | Manage AI Accounts... |
| Help | Report Issue, About PAIO |
| Remote-SSH | Connect to SSH Host..., Open Remote Folder..., Disconnect from SSH Host, Add New SSH Host... |
| WSL | New WSL Terminal, Open WSL Folder..., Connect to WSL... |
- Derive Signal (CP-SOA): 활성 탭이 속한 프로젝트에 대해 CP SOA 시그널 파생을 실행합니다.
에디터가 하나도 열려 있지 않으면
Open an editor of the target project first안내가 뜹니다. - PARA: Import Platform: PopcornSAR AP 기본 구성(PARA Base Set)을 프로젝트에 주입합니다. HPC에
매핑된 컴포지션이 있는 VFB 에디터가 열려 있어야 하며, 그렇지 않으면
Open a VFB editor with an HPC-mapped composition, or use the PARA Platform button in the Machine Configuration dialog.안내가 뜹니다. - New WSL Terminal 과 Connect to WSL... 는 이름만 다를 뿐 같은 동작(WSL 배포판 선택 대화상자)을 실행합니다.
5.6.2 실행해도 아무 일이 없는 명령
아래 13개 명령은 목록에는 나오지만 실행해도 아무 동작도 하지 않습니다. 같은 이름의 항목을 헤더 메뉴에서 고르면 정상 동작하므로, 이 기능들이 필요할 때는 메뉴를 사용하는 것이 좋습니다.
카테고리 동작하지 않는 명령 대신 사용할 곳 File Save As... 없음 (5.1.2 참고) Edit Cut, Copy, Paste, Select All Edit 메뉴 또는 표준 편집 키 View Toggle Sidebar, Toggle Panel, Zoom In, Zoom Out, Reset Zoom, Toggle Full Screen View 메뉴 또는 상태바 버튼 View Toggle Terminal 상태바 터미널 버튼 또는 Ctrl+`Help Report Issue Help 메뉴
5.7 화면 배율
View ▸ Zoom In / Zoom Out / Reset Zoom 메뉴 항목은 앱 본문의 배율을 0.1 단위로 조절합니다. 축소 하한은 0.5배이며 확대에는 상한이 없습니다. Reset Zoom 은 1.0배로 되돌립니다.
메뉴에 적힌 Ctrl++ / Ctrl+- / Ctrl+0 키는 앱 화면이 아니라 네이티브 메뉴에 등록된
확대/축소 항목의 기본 가속기가 처리하며, 메뉴 항목 클릭과는 다른 방식으로 배율을 바꿉니다. 두
경로를 섞어 쓰면 배율이 어긋나 보일 수 있으므로 한쪽만 사용하는 것이 좋습니다.
캔버스 에디터(IVC · VFB) 안에서의 확대/축소는 이와 별개입니다. 캔버스 위에서 Ctrl + 휠을 굴리면
0.1배에서 4.0배 범위로 캔버스만 확대/축소됩니다(18.2 그래픽 에디터 참고).