[Phase47] 대형 파일 분할 리팩터링 3차 — 8개 신규 파셜 파일 생성
## 분할 대상 및 결과 ### ChatWindow.ResponseHandling.cs (741줄 → 269줄) - ChatWindow.StreamingUI.cs (303줄, 신규): CreateStreamingContainer, FinalizeStreamingContainer, ParseSuggestionChips, FormatTokenCount, EstimateTokenCount, StopGeneration - ChatWindow.ConversationExport.cs (188줄, 신규): ForkConversation, OpenCommandPalette, ExecuteCommand, ExportConversation, ExportToHtml ### ChatWindow.PreviewAndFiles.cs (709줄 → ~340줄) - ChatWindow.PreviewPopup.cs (~230줄, 신규): ShowPreviewTabContextMenu, OpenPreviewPopupWindow, _previewTabPopup 필드 ### HelpDetailWindow.xaml.cs (673줄 → 254줄) - HelpDetailWindow.Shortcuts.cs (168줄, 신규): BuildShortcutItems() 정적 메서드 (단축키 항목 160개+ 생성) - HelpDetailWindow.Navigation.cs (266줄, 신규): 테마 프로퍼티, BuildTopMenu/SwitchTopMenu, BuildCategoryBar, NavigateToPage, 이벤트 핸들러 - partial class 전환: `public partial class HelpDetailWindow : Window` ### SkillService.cs (661줄 → 386줄) - SkillService.Import.cs (203줄, 신규): ExportSkill, ImportSkills, MapToolNames — 가져오기/내보내기 섹션 - SkillDefinition.cs (81줄, 신규): SkillDefinition 클래스 독립 파일로 분리 (별도 최상위 클래스) - partial class 전환: `public static partial class SkillService` ## NEXT_ROADMAP.md Phase 46 완료 항목 추가 ## 빌드 결과: 경고 0, 오류 0 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
168
src/AxCopilot/Views/HelpDetailWindow.Shortcuts.cs
Normal file
168
src/AxCopilot/Views/HelpDetailWindow.Shortcuts.cs
Normal file
@@ -0,0 +1,168 @@
|
||||
namespace AxCopilot.Views;
|
||||
|
||||
public partial class HelpDetailWindow
|
||||
{
|
||||
// ─── 단축키 항목 빌드 ─────────────────────────────────────────────────────
|
||||
|
||||
private static List<HelpItemModel> BuildShortcutItems(string globalHotkey = "Alt+Space")
|
||||
{
|
||||
var items = new List<HelpItemModel>();
|
||||
|
||||
// 설정에서 변경된 글로벌 단축키를 표시에 맞게 포맷 (예: "Alt+Space" → "Alt + Space")
|
||||
var hotkeyDisplay = globalHotkey.Replace("+", " + ");
|
||||
|
||||
// ── 전역 단축키 ──────────────────────────────────────────────────────
|
||||
items.Add(MakeShortcut("전역", hotkeyDisplay,
|
||||
"AX Commander 열기/닫기",
|
||||
"어느 창에서든 눌러 AX Commander를 즉시 호출하거나 닫습니다. 설정 › 일반에서 원하는 키 조합으로 변경할 수 있습니다.",
|
||||
"\uE765", "#4B5EFC"));
|
||||
items.Add(MakeShortcut("전역", "PrintScreen",
|
||||
"화면 캡처 즉시 실행",
|
||||
"AX Commander를 열지 않고 곧바로 캡처를 시작합니다. 설정 › 캡처 탭에서 '글로벌 단축키 활성화'를 켜야 동작합니다.",
|
||||
"\uE722", "#BE185D"));
|
||||
|
||||
// ── 런처 탐색 ────────────────────────────────────────────────────────
|
||||
items.Add(MakeShortcut("AX Commander 탐색", "Escape",
|
||||
"창 닫기 / 이전 단계로",
|
||||
"액션 모드(→ 로 진입)에 있을 때는 일반 검색 화면으로 돌아갑니다. 일반 화면이면 AX Commander를 숨깁니다.",
|
||||
"\uE711", "#999999"));
|
||||
items.Add(MakeShortcut("AX Commander 탐색", "Enter",
|
||||
"선택 항목 실행",
|
||||
"파일·앱이면 열기, URL이면 브라우저 열기, 시스템 명령이면 즉시 실행, 계산기 결과면 클립보드에 복사합니다.",
|
||||
"\uE768", "#107C10"));
|
||||
items.Add(MakeShortcut("AX Commander 탐색", "Shift + Enter",
|
||||
"대형 텍스트(Large Type) 표시 / 클립보드 병합 실행",
|
||||
"선택된 텍스트·검색어를 화면 전체에 크게 띄웁니다. 클립보드 병합 항목이 있을 때는 선택한 항목들을 줄바꿈으로 합쳐 클립보드에 복사합니다.",
|
||||
"\uE8C1", "#8764B8"));
|
||||
items.Add(MakeShortcut("AX Commander 탐색", "↑ / ↓",
|
||||
"결과 목록 위/아래 이동",
|
||||
"목록 끝에서 계속 누르면 처음/끝으로 순환합니다.",
|
||||
"\uE74A", "#0078D4"));
|
||||
items.Add(MakeShortcut("AX Commander 탐색", "PageUp / PageDown",
|
||||
"목록 5칸 빠른 이동",
|
||||
"한 번에 5항목씩 건너뜁니다. 빠른 목록 탐색에 유용합니다.",
|
||||
"\uE74A", "#0078D4"));
|
||||
items.Add(MakeShortcut("AX Commander 탐색", "Home / End",
|
||||
"목록 처음 / 마지막 항목으로 점프",
|
||||
"입력창 커서가 맨 앞(또는 입력이 없을 때)이면 첫 항목으로, 맨 끝이면 마지막 항목으로 선택이 이동합니다.",
|
||||
"\uE74A", "#0078D4"));
|
||||
items.Add(MakeShortcut("AX Commander 탐색", "→ (오른쪽 화살표)",
|
||||
"액션 모드 진입",
|
||||
"파일·앱 항목을 선택한 상태에서 → 를 누르면 경로 복사, 탐색기 열기, 관리자 실행, 터미널, 속성, 이름 변경, 삭제 메뉴가 나타납니다.",
|
||||
"\uE76C", "#44546A"));
|
||||
items.Add(MakeShortcut("AX Commander 탐색", "Tab",
|
||||
"선택 항목 제목으로 자동완성",
|
||||
"현재 선택된 항목의 이름을 입력창에 채웁니다. 이후 계속 타이핑하거나 Enter로 실행합니다.",
|
||||
"\uE748", "#006EAF"));
|
||||
items.Add(MakeShortcut("AX Commander 탐색", "Shift + ↑/↓",
|
||||
"클립보드 병합 선택",
|
||||
"클립보드 히스토리(# 모드) 에서 여러 항목을 이동하면서 선택/해제합니다. Shift+Enter로 선택한 항목들을 한 번에 붙여넣을 수 있습니다.",
|
||||
"\uE8C1", "#B7791F"));
|
||||
|
||||
// ── 런처 기능 단축키 ─────────────────────────────────────────────────
|
||||
items.Add(MakeShortcut("런처 기능", "F1",
|
||||
"도움말 창 열기",
|
||||
"이 화면을 직접 엽니다. 'help' 를 입력하는 것과 동일합니다.",
|
||||
"\uE897", "#6B7280"));
|
||||
items.Add(MakeShortcut("런처 기능", "F2",
|
||||
"선택 파일 이름 변경",
|
||||
"파일·폴더 항목을 선택한 상태에서 누르면 rename [경로] 형태로 입력창에 채워지고 이름 변경 핸들러가 실행됩니다.",
|
||||
"\uE70F", "#6B2C91"));
|
||||
items.Add(MakeShortcut("런처 기능", "F5",
|
||||
"파일 인덱스 즉시 재구축",
|
||||
"백그라운드에서 파일·앱 인덱싱을 다시 실행합니다. 새 파일을 추가했거나 목록이 오래됐을 때 사용합니다.",
|
||||
"\uE72C", "#059669"));
|
||||
items.Add(MakeShortcut("런처 기능", "Delete",
|
||||
"최근 실행 목록에서 항목 제거",
|
||||
"recent 목록에 있는 항목을 제거합니다. 확인 다이얼로그가 표시되며 OK를 눌러야 실제로 제거됩니다.",
|
||||
"\uE74D", "#DC2626"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + ,",
|
||||
"설정 창 열기",
|
||||
"AX Copilot 설정 창을 엽니다. 런처가 자동으로 숨겨집니다.",
|
||||
"\uE713", "#44546A"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + L",
|
||||
"입력창 전체 초기화",
|
||||
"현재 입력된 검색어·예약어를 모두 지우고 커서를 빈 입력창으로 돌립니다.",
|
||||
"\uE894", "#4B5EFC"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + C",
|
||||
"선택 항목 파일 이름 복사",
|
||||
"파일·앱 항목이 선택된 경우 확장자를 제외한 파일 이름을 클립보드에 복사하고 토스트로 알립니다.",
|
||||
"\uE8C8", "#8764B8"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + Shift + C",
|
||||
"선택 항목 전체 경로 복사",
|
||||
"선택된 파일·폴더의 절대 경로(예: C:\\Users\\...)를 클립보드에 복사합니다.",
|
||||
"\uE8C8", "#C55A11"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + Shift + E",
|
||||
"파일 탐색기에서 선택 항목 열기",
|
||||
"Windows 탐색기가 열리고 해당 파일·폴더가 하이라이트 선택된 상태로 표시됩니다.",
|
||||
"\uE838", "#107C10"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + Enter",
|
||||
"관리자(UAC) 권한으로 실행",
|
||||
"선택된 파일·앱을 UAC 권한 상승 후 실행합니다. 설치 프로그램이나 시스템 설정 앱에 유용합니다.",
|
||||
"\uE7EF", "#C50F1F"));
|
||||
items.Add(MakeShortcut("런처 기능", "Alt + Enter",
|
||||
"파일 속성 대화 상자 열기",
|
||||
"Windows의 '파일 속성' 창(크기·날짜·권한 등)을 엽니다.",
|
||||
"\uE946", "#6B2C91"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + T",
|
||||
"선택 항목 위치에서 터미널 열기",
|
||||
"선택된 파일이면 해당 폴더에서, 폴더이면 그 경로에서 Windows Terminal(wt.exe)이 열립니다. wt가 없으면 cmd로 대체됩니다.",
|
||||
"\uE756", "#323130"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + P",
|
||||
"즐겨찾기 즉시 추가 / 제거 (핀)",
|
||||
"파일·폴더 항목을 선택한 상태에서 누르면 favorites.json 에 추가하거나 이미 있으면 제거합니다. 토스트로 결과를 알립니다.",
|
||||
"\uE734", "#D97706"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + B",
|
||||
"즐겨찾기 목록 보기 / 닫기 토글",
|
||||
"입력창이 'fav' 이면 초기화하고, 아니면 'fav' 를 입력해 즐겨찾기 목록을 표시합니다.",
|
||||
"\uE735", "#D97706"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + R",
|
||||
"최근 실행 목록 보기 / 닫기 토글",
|
||||
"'recent' 를 입력해 최근 실행 항목을 표시합니다.",
|
||||
"\uE81C", "#0078D4"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + H",
|
||||
"클립보드 히스토리 목록 열기",
|
||||
"'#' 를 입력해 클립보드에 저장된 최근 복사 항목 목록을 표시합니다.",
|
||||
"\uE77F", "#8B2FC9"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + D",
|
||||
"다운로드 폴더 바로가기",
|
||||
"사용자 홈의 Downloads 폴더 경로를 입력창에 채워 탐색기로 열 수 있게 합니다.",
|
||||
"\uE8B7", "#107C10"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + F",
|
||||
"파일 검색 모드로 전환",
|
||||
"입력창을 초기화하고 포커스를 이동합니다. 이후 파일명을 바로 타이핑해 검색할 수 있습니다.",
|
||||
"\uE71E", "#4B5EFC"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + W",
|
||||
"런처 창 즉시 닫기",
|
||||
"현재 입력 내용에 관계없이 런처를 즉시 숨깁니다.",
|
||||
"\uE711", "#9999BB"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + K",
|
||||
"단축키 참조 모달 창 열기",
|
||||
"모든 단축키와 설명을 보여주는 별도 모달 창이 열립니다. Esc 또는 닫기 버튼으로 닫습니다.",
|
||||
"\uE8FD", "#4B5EFC"));
|
||||
items.Add(MakeShortcut("런처 기능", "Ctrl + 1 ~ 9",
|
||||
"N번째 결과 항목 바로 실행",
|
||||
"목록에 번호 배지(1~9)가 표시된 항목을 해당 숫자 키로 즉시 실행합니다. 마우스 없이 빠른 실행에 유용합니다.",
|
||||
"\uE8C4", "#107C10"));
|
||||
|
||||
// ── 기타 창 단축키 ────────────────────────────────────────────────────
|
||||
items.Add(MakeShortcut("기타 창", "← / →",
|
||||
"헬프 창 카테고리 이동",
|
||||
"이 도움말 창에서 하위 카테고리 탭을 왼쪽/오른쪽으로 이동합니다.",
|
||||
"\uE76B", "#4455AA"));
|
||||
items.Add(MakeShortcut("기타 창", "1 / 2 / 3",
|
||||
"헬프 창 상단 메뉴 전환",
|
||||
"이 도움말 창에서 개요(1), 단축키 현황(2), 예약어 현황(3)을 키보드로 전환합니다.",
|
||||
"\uE8BD", "#4455AA"));
|
||||
items.Add(MakeShortcut("기타 창", "방향키 (캡처 중)",
|
||||
"영역 선택 경계 1px 미세 조정",
|
||||
"화면 캡처의 영역 선택 모드에서 선택 영역 경계를 1픽셀씩 정밀 조정합니다.",
|
||||
"\uE745", "#BE185D"));
|
||||
items.Add(MakeShortcut("기타 창", "Shift + 방향키 (캡처 중)",
|
||||
"영역 선택 경계 10px 이동",
|
||||
"화면 캡처의 영역 선택 모드에서 선택 영역 경계를 10픽셀씩 빠르게 이동합니다.",
|
||||
"\uE745", "#BE185D"));
|
||||
|
||||
return items;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user