| 1 | namespace CascadeIDE.Services; |
| 2 | |
| 3 | /// <summary>Команды меню «Файл», «Вид», тулбара, темы и языка UI (partial IdeCommands).</summary> |
| 4 | public static partial class IdeCommands |
| 5 | { |
| 6 | // ——— Меню «Файл» / приложение (те же RelayCommand, что в UI) |
| 7 | /// <summary>Открыть диалог выбора решения (как меню Файл → Открыть решение...). returns: text.</summary> |
| 8 | public const string OpenSolutionDialog = "open_solution_dialog"; |
| 9 | /// <summary>Открыть диалог выбора папки как workspace (как меню Файл → Открыть папку...). returns: text.</summary> |
| 10 | public const string OpenFolderDialog = "open_folder_dialog"; |
| 11 | /// <summary>Открыть диалог выбора файла и показать его в редакторе (как меню Файл → Открыть файл...). returns: text.</summary> |
| 12 | public const string OpenFileDialog = "open_file_dialog"; |
| 13 | /// <summary>Создать новое пустое решение: диалог «Сохранить как» для <c>.sln</c>, затем <c>dotnet new sln</c> (шаблон SDK, не пакеты из NuGet). returns: text.</summary> |
| 14 | public const string CreateNewSolutionDialog = "create_new_solution_dialog"; |
| 15 | /// <summary>Закрыть приложение (как меню Файл → Выход). returns: none.</summary> |
| 16 | public const string ExitApplication = "exit_application"; |
| 17 | |
| 18 | // ——— Вид: панели (явная установка + переключатели) |
| 19 | /// <summary>Развернуть/свернуть регион Pfd в main grid (карта намерений в зоне Pfd). args: visible:boolean; returns: text; example: {"visible":true}.</summary> |
| 20 | public const string SetPfdRegionExpanded = "set_pfd_region_expanded"; |
| 21 | /// <summary>Развернуть/свернуть регион Mfd в main grid. args: visible:boolean; returns: text; example: {"visible":true}.</summary> |
| 22 | public const string SetMfdRegionExpanded = "set_mfd_region_expanded"; |
| 23 | /// <summary>Показать/скрыть панель Git (нижняя вкладка). args: visible:boolean; returns: text; example: {"visible":true}.</summary> |
| 24 | public const string SetGitPanelVisible = "set_git_panel_visible"; |
| 25 | /// <summary>Показать/скрыть док инструментирования (Events/Tests/Debug). args: visible:boolean; returns: text; example: {"visible":true}.</summary> |
| 26 | public const string SetInstrumentationDockVisible = "set_instrumentation_dock_visible"; |
| 27 | /// <summary>Переключить видимость панели Git (toggle). returns: text.</summary> |
| 28 | public const string ToggleGitPanel = "toggle_git_panel"; |
| 29 | /// <summary>Переключить видимость дока инструментирования (toggle). returns: text.</summary> |
| 30 | public const string ToggleInstrumentationDock = "toggle_instrumentation_dock"; |
| 31 | /// <summary>Переключить развёрнут/свёрнут регион Mfd (toggle). returns: text.</summary> |
| 32 | public const string ToggleMfdRegionExpanded = "toggle_mfd_region_expanded"; |
| 33 | |
| 34 | // ——— Вид: режим |
| 35 | /// <summary>Циклически переключить UI mode (hotkey). returns: text.</summary> |
| 36 | public const string CycleUiMode = "cycle_ui_mode"; |
| 37 | |
| 38 | /// <summary>Открыть или закрыть палитру команд (как Ctrl+Q / пункт меню «Вид»). returns: text.</summary> |
| 39 | public const string ToggleCommandPalette = "toggle_command_palette"; |
| 40 | |
| 41 | /// <summary>Go to File — палитра с префиксом <c>f:</c> (Ctrl+P). returns: text.</summary> |
| 42 | public const string GoToFile = "workspace_go_to_file"; |
| 43 | |
| 44 | /// <summary>Фокус в фильтр Solution Explorer на MFD (Ctrl+;). returns: text.</summary> |
| 45 | public const string FocusSolutionExplorerFilter = "focus_solution_explorer_filter"; |
| 46 | |
| 47 | /// <summary>Показать Markdown preview как страницу во вторичном контуре/MFD. returns: text.</summary> |
| 48 | public const string ShowMarkdownPreviewPage = "show_markdown_preview_page"; |
| 49 | |
| 50 | /// <summary>Показать страницу «готовность окружения» во вторичном контуре (зона Mfd; ADR 0023). Разворачивает регион Mfd при необходимости. returns: text.</summary> |
| 51 | public const string ShowEnvironmentReadinessPage = "show_environment_readiness_page"; |
| 52 | |
| 53 | /// <summary>Показать страницу Hybrid Codebase Index (HCI) во вторичном контуре/MFD. Разворачивает регион Mfd при необходимости. returns: text.</summary> |
| 54 | public const string ShowHybridIndexPage = "show_hybrid_index_page"; |
| 55 | |
| 56 | /// <summary>Показать страницу веб-портала (WebView + мост инструментов ADR 0108) во вторичном контуре/MFD. Разворачивает регион Mfd при необходимости. returns: text.</summary> |
| 57 | public const string ShowWebAiPortalPage = "show_web_ai_portal_page"; |
| 58 | |
| 59 | /// <summary>Перейти с страницы «готовность окружения» на первую другую разрешённую страницу вторичного контура. returns: text.</summary> |
| 60 | public const string CloseEnvironmentReadinessPage = "close_environment_readiness_page"; |
| 61 | |
| 62 | /// <summary>Показать страницу Correspondence (CRS) во вторичном контуре (ADR 0156). Разворачивает регион Mfd при необходимости. returns: text.</summary> |
| 63 | public const string ShowCorrespondencePage = "show_correspondence_page"; |
| 64 | |
| 65 | /// <summary>Закрыть страницу Correspondence (CRS) — первая другая разрешённая страница Mfd. returns: text.</summary> |
| 66 | public const string CloseCorrespondencePage = "close_correspondence_page"; |
| 67 | |
| 68 | /// <summary>Активная страница оболочки Mfd: имя значения MfdShellPage (Chat, Terminal, …). Якорь на экране — пресет (v1 — колонка зоны Mfd). args: page:string; returns: text; example: {"page":"Chat"}.</summary> |
| 69 | public const string SetMfdShellPage = "set_mfd_shell_page"; |
| 70 | |
| 71 | /// <summary>Устаревший идентификатор MCP-команды; поведение совпадает с <c>set_mfd_shell_page</c>. args: page:string; returns: text; example: {"page":"Chat"}.</summary> |
| 72 | public const string SetMfdShellPageLegacy = "set_secondary_shell_page"; |
| 73 | |
| 74 | // ——— Вид: тема |
| 75 | /// <summary>Применить светлую тему. returns: text.</summary> |
| 76 | public const string ApplyLightTheme = "apply_light_theme"; |
| 77 | /// <summary>Применить тёмную тему. returns: text.</summary> |
| 78 | public const string ApplyDarkTheme = "apply_dark_theme"; |
| 79 | /// <summary>Применить тему «как Cursor». returns: text.</summary> |
| 80 | public const string ApplyCursorLikeTheme = "apply_cursor_like_theme"; |
| 81 | /// <summary>Применить классическую Power-тему (циан). returns: text.</summary> |
| 82 | public const string ApplyPowerClassicTheme = "apply_power_classic_theme"; |
| 83 | /// <summary>Открыть диалог выбора файла темы. returns: text.</summary> |
| 84 | public const string OpenThemeFileDialog = "open_theme_file_dialog"; |
| 85 | |
| 86 | /// <summary>Экспортировать текущий Markdown с развёрнутыми include-директивами. returns: text.</summary> |
| 87 | public const string ExportExpandedMarkdown = "export_expanded_markdown"; |
| 88 | |
| 89 | // ——— Вид: язык UI |
| 90 | /// <summary>Установить язык UI. args: culture:string; returns: text; example: {"culture":"ru-RU"}.</summary> |
| 91 | public const string SetUiLanguage = "set_ui_language"; |
| 92 | /// <summary>Сбросить язык UI к системному. returns: text.</summary> |
| 93 | public const string ResetUiLanguageToSystem = "reset_ui_language_to_system"; |
| 94 | |
| 95 | // ——— Меню: превью, настройки, справка |
| 96 | /// <summary>Открыть отдельное окно превью (Markdown). returns: text.</summary> |
| 97 | public const string OpenPreviewWindow = "open_preview_window"; |
| 98 | /// <summary>Открыть или активировать окно-хост зоны Mfd, если строка <c>presentation</c> / <c>zone_screen_layout</c> задаёт топологию с выносом Mfd (ADR 0017); иначе не выполняется. Отдельного пункта меню нет — источник истины раскладка. returns: text.</summary> |
| 99 | public const string ToggleMfdHostWindow = "toggle_mfd_host_window"; |
| 100 | /// <summary>Открыть или активировать окно сплита P+M при пресете <c>(xP+yM)(F)</c> / <c>(F)(xP+yM)</c> (ADR 0017). returns: text.</summary> |
| 101 | public const string TogglePmSplitHostWindow = "toggle_pm_split_host_window"; |
| 102 | /// <summary>Открыть окно настроек. returns: text.</summary> |
| 103 | public const string OpenSettings = "open_settings"; |
| 104 | /// <summary>Показать диалог «О программе». returns: text.</summary> |
| 105 | public const string About = "about"; |
| 106 | |
| 107 | // ——— Тулбар: показать панели / скрыть вывод сборки |
| 108 | /// <summary>Развернуть регион Pfd / карту намерений (toolbar). returns: text.</summary> |
| 109 | public const string ShowPfdRegionPanel = "show_pfd_region_panel"; |
| 110 | /// <summary>Явно показать панель вывода сборки (toolbar). returns: text.</summary> |
| 111 | public const string ShowBuildOutputPanel = "show_build_output_panel"; |
| 112 | /// <summary>Развернуть регион Mfd и перейти на страницу Chat (toolbar). returns: text.</summary> |
| 113 | public const string ShowChatPage = "show_chat_page"; |
| 114 | |
| 115 | /// <summary>Развернуть регион Mfd и перейти на страницу обозревателя решения (toolbar). returns: text.</summary> |
| 116 | public const string ShowSolutionExplorerPage = "show_solution_explorer_page"; |
| 117 | /// <summary>Развернуть регион Mfd и открыть страницу «Связанные файлы» (related; workspace). returns: text.</summary> |
| 118 | public const string ShowRelatedFilesMfdPage = "show_related_files_mfd_page"; |
| 119 | /// <summary>Явно показать терминал (toolbar). returns: text.</summary> |
| 120 | public const string ShowTerminalPanel = "show_terminal_panel"; |
| 121 | /// <summary>Скрыть панель вывода сборки (toolbar). returns: text.</summary> |
| 122 | public const string HideBuildOutputPanel = "hide_build_output_panel"; |
| 123 | |
| 124 | // ——— Тулбар: группы редакторов |
| 125 | /// <summary>Одна группа редакторов (1-up). returns: text.</summary> |
| 126 | public const string SetSingleEditorGroup = "set_single_editor_group"; |
| 127 | /// <summary>Две группы редакторов (2-up). returns: text.</summary> |
| 128 | public const string SetDualEditorGroup = "set_dual_editor_group"; |
| 129 | /// <summary>Три группы редакторов (3-up). returns: text.</summary> |
| 130 | public const string SetTripleEditorGroup = "set_triple_editor_group"; |
| 131 | |
| 132 | /// <summary>Кнопка «Собрать» в тулбаре: dotnet build в панель вывода (не structured build). returns: text.</summary> |
| 133 | public const string BuildSolutionUi = "build_solution_ui"; |
| 134 | } |
| 135 | |