Как да направиш Windows Terminal красив и умен — ръководство за начинаещи

Ако използваш Windows и понякога ти се налага да пишеш команди, тази статия е за теб. Ще ти покажем как да превърнеш обикновения черен прозорец в модерен инструмент, който изглежда страхотно, работи по-умно и те кара да се чувстваш като истински професионалист.
Всичко е обяснено на достъпен език, стъпка по стъпка.
Какво е Windows Terminal и защо ни е нужен?
Windows Terminal е модерното приложение на Microsoft за работа с командния ред. То замества стария и тромав Command Prompt (cmd), като предлага:
- Табове: Поддържа PowerShell, CMD и Ubuntu едновременно — точно като браузър.
- Персонализация: Пълна свобода над цветове, шрифтове и фонове.
- Производителност: Умно автодовършване и преки пътища.
След тези настройки терминалът ти няма да е просто черна кутия, а ще има:
- Красива тъмна тема.
- Шрифт с икони за всеки тип файл.
- Интелигентни предложения при писане.
- Git интеграция (виждаш в кой клон работиш веднага).
Стъпка 1: Настройка на визията (settings.json)
Конфигурационният файл на Windows Terminal се казва settings.json. Можеш да го отвориш директно от настройките на терминала (бутона със стрелка надолу -> Settings -> Open JSON file).
Съвет: Всяка промяна в този файл влиза в сила веднага след записване (
Ctrl + S), без нужда от рестарт.
Препоръчителни настройки:
В секцията "defaults" добави следните параметри:
- Шрифт: Използвай Cascadia Code (идва вграден в Windows) за модерни икони:
"font": { "face": "Cascadia Code", "size": 11 } - Размер на прозореца: За да не се отваря твърде малък:
"initialCols": 120, "initialRows": 30 - Начална папка: Да се отваря директно в потребителската ти папка:
"startingDirectory": "%USERPROFILE%"
Полезни клавишни комбинации:
Ctrl + T— Нов таб.Alt + Shift + =— Разделяне на панела вертикално (Split pane).Ctrl + 1/2/3— Бързо прескачане между табовете.
Стъпка 2: Оживи PowerShell с профил и икони
Какво е PowerShell профил?
Това е скрипт, който се изпълнява автоматично при всяко стартиране на терминала. В него задаваме "умните" функции. Отвори го с командата:
PowerShell
notepad $PROFILE
Ако файлът не съществува, потвърди създаването му.

Инсталиране на модули за красота и ум
Копирай и постави тези команди в терминала, за да добавиш функционалност:
- Terminal-Icons: Добавя цветни икони пред имената на файловете.PowerShell
Install-Module -Name Terminal-Icons -Repository PSGallery -Force - PSReadLine: Прави терминала умен — показва история на командите в сиво и довършва автоматично с
Tab.PowerShellInstall-Module -Name PSReadLine -Force -SkipPublisherCheck
Добавяне на кратки команди (Aliases)
В отворения текстов файл на профила ($PROFILE) добави тези редове, за да си улесниш живота:
PowerShell
Import-Module Terminal-Icons
# Псевдоними
Set-Alias ll Get-ChildItem # Пишеш 'll' за списък с икони
Set-Alias g git # Пишеш само 'g' вместо 'git'
# Приветствие според часа
$hour = (Get-Date).Hour
if ($hour -lt 12) { $greet = "Добро утро!" }
elseif ($hour -lt 18) { $greet = "Добър ден!" }
else { $greet = "Добър вечер!" }
Write-Host "$greet Днес е $(Get-Date -Format 'dd MMMM yyyy')" -ForegroundColor Cyan
Стъпка 3: Справяне с грешката "Not Digitally Signed"
При първото използване на профил, Windows може да го блокира от съображения за сигурност. Ако видиш червен текст с грешка, изпълни тези две команди:
- Разреши локални скрипти:PowerShell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser - Отключи профила:PowerShell
Unblock-File -Path $PROFILE
След това презареди с: . $PROFILE
📖
🚀 Пълният код за твоя PowerShell профил
За да не губиш време в писане на всеки ред поотделно, можеш директно да копираш този цялостен блок и да го поставиш в твоя $PROFILE. Той включва всичко: оцветяване, икони, Git преки пътища и автоматично приветствие.
# ============================================================
# PowerShell Profile
# Местоположение: $PROFILE
# ============================================================
# ── Модули ──────────────────────────────────────────────────
Import-Module Terminal-Icons -ErrorAction SilentlyContinue
Import-Module PSReadLine -ErrorAction SilentlyContinue
# ── PSReadLine ───────────────────────────────────────────────
Set-PSReadLineOption -PredictionSource History
Set-PSReadLineOption -PredictionViewStyle ListView
Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete
Set-PSReadLineKeyHandler -Chord 'Ctrl+r' -Function ReverseSearchHistory
# ── Цветова схема (Tokyo Night) ──────────────────────────────
Set-PSReadLineOption -Colors @{
Command = '#7AA2F7'
Parameter = '#BB9AF7'
Operator = '#89DCEB'
Variable = '#E0AF68'
String = '#9ECE6A'
Number = '#FF9E64'
Comment = '#565F89'
Keyword = '#F7768E'
InlinePrediction = '#565F89'
}
# ── Псевдоними ───────────────────────────────────────────────
Set-Alias -Name g -Value git
Set-Alias -Name np -Value 'C:\Program Files\Notepad++\notepad++.exe'
# ── Помощни функции ──────────────────────────────────────────
function ll { Get-ChildItem @args | Format-Table -AutoSize Mode, LastWriteTime, Length, Name }
function la { Get-ChildItem -Force @args | Format-Table -AutoSize Mode, LastWriteTime, Length, Name }
function touch { New-Item -ItemType File -Name $args[0] -Force | Out-Null }
function mkcd { New-Item -ItemType Directory -Name $args[0] -Force | Out-Null; Set-Location $args[0] }
function uptime { (Get-Date) - (Get-CimInstance Win32_OperatingSystem).LastBootUpTime }
function desktop { Set-Location ([Environment]::GetFolderPath('Desktop')) }
# ── Git преки пътища ─────────────────────────────────────────
function gs { git status }
function ga { git add @args }
function gc { git commit -m @args }
function gp { git push @args }
function gl { git log --oneline --graph --decorate -20 }
# ── Prompt ───────────────────────────────────────────────────
function prompt {
$lastOk = $?
$path = (Get-Location).Path.Replace($HOME, '~')
$branch = try {
$b = git branch --show-current 2>$null
if ($b) { " $b" } else { '' }
} catch { '' }
Write-Host ""
Write-Host " $path" -NoNewline -ForegroundColor Blue
if ($branch) { Write-Host $branch -NoNewline -ForegroundColor Yellow }
Write-Host ""
if ($lastOk) {
Write-Host " >" -NoNewline -ForegroundColor Green
} else {
Write-Host " >" -NoNewline -ForegroundColor Red
}
return " "
}
# ── Приветствие ──────────────────────────────────────────────
function Show-Welcome {
$ver = $PSVersionTable.PSVersion
$hour = (Get-Date).Hour
if ($hour -lt 12) { $greeting = 'Добро утро' }
elseif ($hour -lt 18) { $greeting = 'Добър ден' }
else { $greeting = 'Добър вечер' }
Write-Host ""
Write-Host " $greeting! " -NoNewline -ForegroundColor Cyan
Write-Host (Get-Date -Format 'dddd, dd MMMM yyyy HH:mm') -ForegroundColor DarkGray
Write-Host " PowerShell $($ver.Major).$($ver.Minor)" -ForegroundColor DarkGray
Write-Host ""
}
Show-Welcome
Увери се, че имаш инсталиран Notepad++, ако искаш командата np да работи, или я промени на notepad.exe за стандартния редактор.
Обобщение — какво постигнахме?
Твоят Windows Terminal вече не е просто инструмент, а модерна работна станция:
- Визуално подреден: С тъмна тема и икони.
- Интуитивен: Помни историята ти и ти подсказва команди.
- Бърз: С кратки преки пътища (aliases).
Следващи стъпки за ентусиасти:
- Oh My Posh: Ако искаш още по-екстремен дизайн с графични ленти и статус на батерията.
- Прозрачност: В настройките на Windows Terminal можеш да добавиш "Acrylic" ефект, за да виждаш тапета си през прозореца.
Приятна работа и успех в командния ред!
Намерихте материала за полезен?
Съдържанието на itpraktika.com е безплатно и ще остане такова.
Ако статията ти е помогнала — можеш да подкрепиш сайта с малка доброволна сума.
Всяко дарение помага за поддръжката и развитието на портала.
