Ако използвате Windows и все още не сте се занимавали с Windows Terminal и неговите профили и темиПропускате един от най-добрите начини да работите комфортно и, между другото, да се покажете малко пред всички останали. Този инструмент обединява CMD, PowerShell, WSL, Azure и други в един прозорец, с раздели, разделени панели и ниво на персонализиране, което съперничи на Linux терминалите.
По-неприятната част е, че голяма част от тази магия се намира във файл, наречен settings.json, където са дефинирани профили, теми, преки пътища и външен видДобрата новина е, че в днешно време можете да комбинирате графичен редактор С директното редактиране на JSON можете да извлечете максимума от него. Ще ви преведем стъпка по стъпка през всичко, което можете да правите с профили, теми, цветови схеми, шрифтове, фонове, визуални ефекти и преки пътища, за да персонализирате Windows Terminal точно както искате.
Разбиране на основната структура на settings.json
Преди да започнете да се занимавате с неща безразборно, е важно да разберете, че Терминал на Windows Конфигурира се главно във файл settings.json файл, където са дефинирани глобалните опции, профили и теми.Можете да го отворите от самия терминал, в падащото меню (стрелка надолу до бутона +) с опцията „Настройки“, която обикновено стартира графичния интерфейс, и оттам да получите достъп до класическия JSON.
Обикновено се появява в горната част на файла собствеността $schemaкоето сочи към официалната схема на MicrosoftНе е нужно да го променяте, но това помага на редактора да предлага валидни свойства и да ви предупреждава за грешки. Ще видите и ключови глобални свойства, като например defaultProfile, което показва кой профил се отваря по подразбиранеИ theme, който контролира общата тема на прозореца (да не се бърка с цветовата схема на текста).
Много важен блок е profilesкойто включва раздел defaults и друг list. В рамките на list Всички налични профили са дефинирани (PowerShell, CMD, WSL, Git Bash, Cmder и др.). Ключът е, че всяка корекция, която правите в profiles.defaults Прилага се автоматично към всички профилиосвен ако някой профил не го презапише със собствена стойност.
В същия файл ще намерите и раздели като например schemes (цветови схеми) и actions o keybindingsТук дефинирате клавишните комбинации за управление на раздели, панели, панела с настройки и т.н. Ще видите, че почти всичко, което прави Windows Terminal специален, включва докосване тук.

Профили: как да ги контролирате, организирате и персонализирате
На практика профилите са, различните „видове“ конзоли, които можете да отворите в Windows TerminalPowerShell, команден ред, WSL дистрибуции, Azure Cloud Shell, Git Bash, Cmder и др., много от тях са терминални емулаториВсеки един съществува като обект в масива "profiles":{"list":}.
Една от по-малко очевидните, но най-полезни подробности е, че редът на обектите вътре list определя индекса на всеки профилТози индекс се използва за бързи преки пътища като Ctrl+Shift+1, Ctrl+Shift+2и т.н. Тоест, първият профил в списъка се отваря с Ctrl + Shift + 1, вторият с Ctrl + Shift + 2, и така нататък.
Ако искате да пренаредите този ред, просто Изрежете и поставете обектите, профилирайте нагоре или надолу, в JSON файла.Няма никакъв трик: не е нужно да променяте вътрешни свойства, а само позицията в списъка. Идеално е например за PowerShell, WSL и Git Bash с най-удобните бързи клавишни комбинации.
Във всеки профил ще намерите поредица от ключови свойства. Едно от най-основните е name, което маркира името, което виждате в падащото меню и в разделаСъщата стойност се предава на шел-а като първоначално „заглавие“, въпреки че всеки шел може да реши дали да го уважи или игнорира. Bash обикновено го игнорира в началото, докато cmd и PowerShell обикновено носят това заглавие, освен ако не го промените от самата обвивка.
Ако имате нужда от още по-голям контрол върху това, което се показва в разделите, можете да използвате tabTitle, което налага специфичен текст за разделанезависимо от name от профила и какво прави обвивката със заглавието. Много е полезно за разграничаване, например, на няколко PowerShell профила, предназначени за различни задачи.
Основни свойства на всеки профил
Свойството, което определя какво всъщност се изпълнява при отваряне на профил, е commandline, което показва изпълнимия файл и неговите аргументиАко не е посочено, Windows Terminal използва настройката по подразбиране. "cmd.exe"Но обикновено всеки профил има своя собствена команда: PowerShell, pwsh, WSL bash, Git Bash, Cmder и др.
Това свойство приема пълен низ, така че можете Добавете параметри към командата, за да стартирате скриптове или да променяте опции при стартиранеНапример, можете да накарате CMD винаги да изпълнява пакетен файл с: "commandline": "cmd.exe /k C:\ruta\a\script.bat"така че средата да се подготвя автоматично при отваряне на профила.
Друг много важен параметър е startingDirectory, което маркира началната папка на обвивката при отваряне на профилаПо подразбиране, ако нищо не е въведено, обикновено сочи към %USERPROFILE%Точното поведение обаче се променя в зависимост от това как стартирате Windows Terminal или wt.exeАко не е дефинирано, се прилагат следните правила:
- Ако отворите Windows Terminal от менюто „Старт“, директорията обикновено е
%WINDIR%\System32. - При стартиране
wt.exeМоже да се използва и от менюто "Старт".%WINDIR%\System32. - Ако тичаш
wt.exeот Win + R, домашната директория става%USERPROFILE%. - Ако отворите
wt.exeОт адресната лента на Explorer, началната точка е папката, в която сте разглеждали.
Ако искате да контролирате това по ваш вкус, винаги дефинирайте startingDirectory изрично посочете пътя до вашето работно пространство или хранилищеЗа WSL има специален случай: трябва да използвате маршрути като "\\wsl$\DISTRO\home\USUARIO" да сочи към началния екран в дистрибуциятаили негов еквивалент //wsl.localhost/DISTRO/home/USUARIO когато го конфигурирате от графичния интерфейс.
Обърнете внимание на един детайл: ако установите startingDirectory a nullповедението се променя А домашната директория ще зависи още повече от контекста, от който стартирате терминала. Ако искате да избегнете изненади, най-мъдрото действие е да дефинирате ясен път или да оставите стойността по подразбиране непроменена.
Можете също да персонализирате външния вид на всеки профил, като използвате iconкоето определя иконата, която ще виждате в раздела, в менюто с профили и в преките пътищаПоддържа както пътища към файлове с изображения, така и емоджита. Например, ако поставите икона ubuntu.ico en %LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingStateМожете да го използвате с "icon": "ms-appdata:///roaming/ubuntu.ico".

Стартиране като администратор, скриване на профили и други ключови опции
Има ситуации, в които е желателно даден профил винаги да се отваря с високи привилегии. За това е предназначена собствеността. elevate, което, когато започне да true принудително стартиране на този профил като администраторАко стартирате този профил от прозорец без разрешения, Windows Terminal ще създаде нов прозорец с повишени права, за да го хоства.
Ако вече сте в привилегирован прозорец, Ще отворите друг раздел, също с администраторски права, без да е необходим нов прозорецАко сложите elevate a false Изрично в профил, стартиран от прозорец с повишени права, профилът също ще работи с по-високи привилегии, което е важно да се разбере, за да се избегне объркване относно разрешенията.
Също така, имайте предвид, че Не можете да смесвате повдигнати и неповдигнати раздели в един и същ прозорецТерминалът на Windows разделя тези контексти, за да избегне проблеми със сигурността и поведението. Свойството elevate Можете също да го укажете директно в действия като например newTab o splitPaneкоето ви позволява да наложите или не администраторския режим.
Друга много практична настройка е hidden, което определя дали даден профил се показва в падащото меню на профила или не.Ако го сложите trueПрофилът все още съществува и може да се използва (например като) defaultProfile или от преки пътища), но изчезва от визуалния списък. Той е идеален за автоматично генерирани профили или профили, които използвате само вътрешно.
Това свойство е особено полезно с динамични профили, като например WSL или Azure Cloud Shell, които обикновено се създават автоматично, ако имате инсталирани тези компонентиМожете да ги скриете, ако не се интересувате от тях или ако имате персонализирани копия на същите тези черупки с различни опции.
Персонализирайте подканата с Oh My Posh, posh-git и Terminal-Icons
Много визуално привлекателна част от персонализирането включва промяна на командния ред, за да се показва Git клонове, икони, цветове и информационни сегментиВ случая с PowerShell (а също и с WSL), един от най-мощните начини да направите това е чрез използване на Oh My Posh заедно с posh-git и модула Terminal-Icons.
За да започнете, трябва да отворите PowerShell или Windows Terminal и да изпълните, за предпочитане с подходящи разрешения, серия от команди за инсталиране на модулите: Install-Module posh-git -Scope CurrentUser, Install-Module oh-my-posh -Scope CurrentUser y Install-Module -Name Terminal-Icons -Repository PSGalleryАко системата ви помоли да потвърдите инсталацията или доверието в хранилището, просто приемете.
След като модулите са инсталирани, е време да конфигурирате Файл с профил на PowerShell, до който се осъществява достъп с notepad $PROFILEАко файлът все още не съществува, той ще бъде създаден празен. Вътре можете да заредите модулите и да дефинирате темата Oh My Posh, като напишете нещо подобно:
Import-Module posh-git
Import-Module oh-my-posh
Import-Module -Name Terminal-Icons
Set-PoshPrompt -Theme <NombreDelTema>
Вместо <NombreDelTema> ще сложиш име на една от многото налични теми, както например Агностер или някоя от тези, които са в пакета Oh My Posh. Темите се намират физически по маршрути като C:\Users\TU_USUARIO\Documents\WindowsPowerShell\Modules\oh-my-posh\themesкъдето можете да прегледате всеки файл и да го промените или да създадете свой собствен.
За да изглеждат иконите добре, ви е необходим... съвместим шрифт с Nerd Fonts, като например Cascaydia Cove Nerd Fontкойто можете да изтеглите от официалния уебсайт на Nerd Fonts. След като шрифтът е инсталиран на вашата система, следващата стъпка е да кажете на Windows Terminal да го използва в съответните профили, като коригирате свойството "fontFace": "CaskaydiaCove NF" в profiles.defaults или в конкретни профили.
Настройване на шрифтове, фонове и изображения в терминала на Windows
В допълнение към подканата, можете да настроите фино външния вид на текста и областта на конзолата. Всеки профил може да определи свойства като например fontFace y fontSize да изберете шрифт и размерИзползването на качествен моноширочинен шрифт (Fira Code, Cascadia Code, Cascadia Code NF и др.) оказва голямо влияние върху четимостта.
Ако сте инсталирали шрифт Nerd за икони на Oh My Posh или за да имате допълнителни глифове, не забравяйте това Трябва също да изберете този източник в други инструменти, като например класически PowerShell или интегрираният терминал на Visual Studio CodeВ PowerShell това се прави от свойствата на прозореца; във VS Code, от Файл > Предпочитания > Настройки > Терминал > Интегрирано: Семейство шрифтове, като въведете същото име, което използвате в JSON файла на Windows Terminal.
За да направите значителен визуален скок, можете да добавите персонализиран фон към всеки профил, използвайки свойството backgroundImageкойто поддържа както статични изображения, така и анимирани GIF файловеТолкова е просто, колкото да посочите достъпен път (например изображение в папката „Картини“) и да коригирате съответните параметри, за да контролирате как се показва.
Сред тези параметри се открояват следните: backgroundImageOpacity, който контролира непрозрачността с десетична стойност между 0 и 1И backgroundImageStretchModeкойто определя как изображението се настройва към размера на прозорецаМожете да използвате режими като none, fill, uniform o uniformToFill, в зависимост от това дали искате да запазите пропорциите или да наложите запълването на цялата повърхност.
Друг начин за постигане на „полуогледален“ терминал е да се активира useAcrylic в профила и коригирайте acrylicOpacityкоето създава много приятен ефект на матирано стъкло. Съществува и експериментална опция, наречена experimental.retroTerminalEffectкойто симулира стар CRT монитор с линии на сканиране и яркостПоследното не допринася за представянето, но пък носи носталгия.
Конфигурирайте глобалната тема на прозореца: светъл, тъмен и режим „Слюда“
Освен цвета на фона и текста на всеки профил, Windows Terminal ви позволява да дефинирате глобални проблеми, които засягат прозореца, реда с раздели и елементите на интерфейсаВсичко това се управлява чрез имотите "theme" y "themes" в основния JSON.
Бързият вариант е да използвате обикновен низ в "theme": "dark" o "theme": "light"които съответстват на интегрираните теми по подразбиране. Но можете също така да дефинирате обекти в "themes" и да ги посочвате по име. Например, интегрираната „тъмна“ тема би била нещо подобно:
{"name":"dark","window":{"applicationTheme":"dark"},"tab":{"background":"terminalBackground","unfocusedBackground":"#00000000"},"tabRow":{"unfocusedBackground":"#333333FF"}}
Ако искате Windows Terminal автоматично да се адаптира към светлата или тъмната тема на Windows, можете уточни theme като обект с ключовете dark y light, Например: "theme": { "dark": "MiTemaOscuro", "light": "MiTemaClaro" }По този начин, когато промените темата на операционната система, външният вид на терминала ще се настрои автоматично.
Във всеки обект на тема имате свойство window, който контролира общите настройки на прозорецаОсновното тук е applicationThemeкоето може да бъде "system", "dark" o "light", с system Директно наследявате текущата тема на Windows; с другите две винаги налагате определен режим, независимо от това, което сте конфигурирали отвън.
Ако искате още по-модерен щрих, можете да активирате useMica вътре в блока window, което позволява ефекта на слюдата Този ефект е наличен под всички слоеве на интерфейса на терминала на Windows. За да бъде видим, горните елементи трябва да имат прозрачност в алфа канала си, например, като редът с раздели е оцветен в плътен цвят. #00000000.
Когато активирате Мика, имайте предвид, че Ефектът се прилага към целия прозорец, включително терминалните панели.Това означава, че ако даден профил използва прозрачност с opacity но без useAcrylicФонът, който ще видите отдолу, ще бъде ефектът „Слюда“, а не плътен цвят. В момента не е възможно да се комбинира фон на раздел „Слюда“ с напълно прозрачен, неразмазан фон в областта на терминала в рамките на един и същ прозорец.
Цветове на рамката, раздели и ред с раздели
Друг аспект, който можете да настроите от темите, е цветът на рамката на прозореца и външният вид на разделите. В рамките на window Има имоти като frame y unfocusedFrameкоито задават цвета на рамката, когато прозорецът е активен или неактивенАко ги оставите вътре nullЩе бъдат използвани цветовете по подразбиране на темата на Windows.
Има дори експериментална опция, предназначена за тези, които искат нещо наистина привличащо вниманието: experimental.rainbowFrame, което, когато започне да true генерира рамка на прозореца, подобна на дъгаНе е най-дискретното нещо на света, но със сигурност привлича вниманието и демонстрира докъде може да стигне графичната персонализация.
Що се отнася до горната част, обектът tabRow контролира цвета на лентата, където се намират миглитеТова включва свойства като background y unfocusedBackgroundкоито определят цвета на фона на реда с раздели, когато прозорецът е на фокус или не. Не забравяйте, че когато showTabsInTitlebar е да trueРедът с раздели заема мястото на класическата заглавна лента.
Всеки отделен раздел се конфигурира от обекта tab, който управлява свойства като background за активния раздел и unfocusedBackground за неактивнитеАко профилът има дефинирано свойство tabColorТази настройка ще презапише цвета на темата за този конкретен раздел и същото се случва, ако ръчно промените цвета по време на изпълнение, използвайки вградения инструмент за избор на цвят.
Един интересен детайл е, че ако конфигурирате unfocusedBackground към специални ценности, като например terminalBackground o accentТерминалът на Windows автоматично ще приложи 30% алфа канал, което ще доведе до леко полупрозрачни неактивни раздели. Това помага за по-лесното разграничаване на активния раздел, без да се използват ярки цветове.
Бутон за затваряне, цветови схеми и курсор
Поведението на разделите също може да се регулира. Едно много полезно свойство е showCloseButtonкоето определя кога се появява бутонът за затваряне на разделаТой приема стойности като "always", "hover", "never" o "activeOnly", в зависимост от това дали искате да го виждате винаги, само когато задържите курсора на мишката върху него, никога или само в активния раздел.
За да контролирате цветовете на текста и фона в областта на конзолата, се използват следните елементи цветовите схеми, дефинирани в раздела schemes от JSONВсяка диаграма показва name и гама от цветове (до 16 класически цвята плюс фон и текст по подразбиране) и е свързан с профил чрез имота colorScheme с името на схемата.
Терминалът на Windows се предлага с няколко предварително дефинирани схеми, но забавната част е създавайте свои собствени схеми, за да имитирате палитри от други терминали, IDE или дистрибуцииМожете да започнете с популярни примери (като схема в стил Ubuntu) и да ги адаптирате по ваш вкус, като промените само няколко цвята, за да регулирате контраста или естетиката.
Курсорът може да се персонализира и в самата конзола. Всеки профил може да дефинира cursorShape със стойности като bar, underscore, vintage, filledBox o emptyBox. Също така, с cursorColor Можете да зададете специфичен цвят за курсора, което е полезно, ако някоя цветова комбинация кара курсора по подразбиране да се слее с фона.
Всички цветове, които използвате в теми и схеми, са приемливи. RGBA шестнадесетичен тип нотация #rgb, #rrggbb o #rrggbbaaКогато не укажете алфа канала, той се счита за напълно непрозрачен. Съществуват и специални вериги като "accent", който представлява акцентния цвят, конфигуриран в WindowsИ "terminalBackground", който се отнася до цвета на фона на активния панел на терминала, игнорирайки фоновите изображения.
Клавишни комбинации и разширени бързи клавиши (включително панела с настройки)
Едно от скъпоценните камъни на Windows Terminal е неговата система от действия, конфигурируеми чрез клавишни комбинации. Вътрешна секция actions o keybindings Можете да дефинирате клавишни комбинации за отваряне на нови раздели, разделяне на панели, превключване на профили, преместване на фокус, затваряне на раздели и др.
Ако искате например да имате пряк път до нов панел с графични настройки (Settings UI) е въведен в клона PreviewМожете да добавите действие като това към списъка: { "command": { "action": "openSettings", "target": "settingsUI" }, "keys": "ctrl+shift+," }Уверете се обаче, че в края на предишния запис има запетая, защото това е често срещана грешка, която води до неуспешно зареждане на JSON.
Много потребители използват тези преки пътища, за да симулиране на поведението на инструменти като tmux, разделяйки прозореца на хоризонтални и вертикални панелиТова включва комбиниране на действия като splitPane с различни посоки и размери. Препоръчително е да се избягват точки на достъп, като например ctrl+b Ако причиняват необичайно поведение (повтаряне на клавиши), изберете по-чисти комбинации, например alt+shift+ за вашите предпочитани акции.
В официалната документация на Windows Terminal имате Пълен списък на поддържаните действия, с параметрите, които всяко от тях приемаОсвен всичко друго, можете да картографирате преки пътища, за да стартирате конкретен профил, да отворите терминала в определена папка или бързо да превключвате между режим на цял екран и режим на прозорец.
Ако често работите с много панели, си струва да отделите известно време за Дефинирайте последователни клавишни комбинации за създаване, затваряне и пренареждане на панели и разделиТази инвестиция се превръща в много по-плавен работен процес, като почти напълно елиминира нуждата от мишка и падащи менюта.
След като поиграете с всички тези опции, ще видите, че Windows Terminal ви позволява Обединете цялата си работна среда в един прозорец, с ясно разграничени профили, персонализирани теми, цветови схеми по ваш вкус и оптимизирани преки пътища.След като го настроите правилно, не само изглежда впечатляващо, но и работата в конзолата става много по-комфортна и продуктивна, отколкото с класическите отделни прозорци.
