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

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

Ако използваш Windows и понякога ти се налага да пишеш команди, тази статия е за теб. Ще ти покажем как да превърнеш обикновения черен прозорец в модерен инструмент, който изглежда страхотно, работи по-умно и те кара да се чувстваш като истински професионалист.

Всичко е обяснено на достъпен език, стъпка по стъпка.


Какво е Windows Terminal и защо ни е нужен?

Windows Terminal е модерното приложение на Microsoft за работа с командния ред. То замества стария и тромав Command Prompt (cmd), като предлага:

  • Табове: Поддържа PowerShell, CMD и Ubuntu едновременно — точно като браузър.
  • Персонализация: Пълна свобода над цветове, шрифтове и фонове.
  • Производителност: Умно автодовършване и преки пътища.

След тези настройки терминалът ти няма да е просто черна кутия, а ще има:

  1. Красива тъмна тема.
  2. Шрифт с икони за всеки тип файл.
  3. Интелигентни предложения при писане.
  4. 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

Ако файлът не съществува, потвърди създаването му.

PowerShell с профил и икони

Инсталиране на модули за красота и ум

Копирай и постави тези команди в терминала, за да добавиш функционалност:

  1. Terminal-Icons: Добавя цветни икони пред имената на файловете.PowerShellInstall-Module -Name Terminal-Icons -Repository PSGallery -Force
  2. 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 може да го блокира от съображения за сигурност. Ако видиш червен текст с грешка, изпълни тези две команди:

  1. Разреши локални скрипти:PowerShellSet-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
  2. Отключи профила:PowerShellUnblock-File -Path $PROFILE

След това презареди с: . $PROFILE


📖
Може да ви е интересно още
Скриптове и команди в PowerShel

🚀 Пълният код за твоя 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" ефект, за да виждаш тапета си през прозореца.

Приятна работа и успех в командния ред!

open source spirit
🛠️
$

Намерихте материала за полезен?

Съдържанието на itpraktika.com е безплатно и ще остане такова.
Ако статията ти е помогнала — можеш да подкрепиш сайта с малка доброволна сума. Всяко дарение помага за поддръжката и развитието на портала.

PayPal Revolut

Вашият коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *


Колко е 10 + 7 ? (въведете числото)