Гайды 📖
October 30

Создаём крутую тему для терминала в винде

Цели

Сегодня при слове "терминал" есть сочетание слов типа Ubuntu, Linux ну и или MacOS. Операционная система Windows неправомерно подвержена гонению. Я намерен это исправить и создать офигенный шаблон для написания ПО в ОС Windows. Все темы бесплатны и в свободном доступе.

Иными словами, мы делаем из этого:

Это:

Программы

Для работы нам понадобится несколько программ. Для базовой работы я возьму такие приложения как:

  • Sublime Text 3. Задача Sublime Text'а создать удобную среду для работы с кодом. Сейчас я больше всего пишу на Python и покажу как выглядит код в Sublime из коробки. Я использую автоматическую тему, которая подстроится под системную.
  • Typora. Так как я пишу много текста про код — его нужно оформить. Я оформляю текст в маркдауне (это такой шаблон написания текста с кодом). Все PDFки, которые вы тут видите (в том числе и эту) — работа данного ПО. Тема — Night. Дополнительные темы можно посмотреть тут.
  • NotePad++. Это ещё один текстовый редактор. С ним я чиню конфигурационные файлы, так как очень легко менять кодировки и размеры символов. Тема как у системы + фиолетовая.
  • Windows Terminal. Это улучшенная версия системного ПО Windows (командной строки). Добавлены много фич. О них мы ещё поговорим.

На данный момент есть несколько сложностей со скачиванием всех утилит. Чтобы упростить задачу, всё что нужно дня скачивания из программ я поместил в этот архив.

Настройка терминала

Какие настройки я выставил в самом терминале. Для их настройки я перешёл во вкладку "Параметры":

По умолчанию, настройки выставятся в очень стандартный и весьма красивый вид.

Многие спрашивали меня как установить Ubuntu в терминал Windows. На самом деле, это проще чем кажется.

  • Переходим в панель управления.
  • Затем, выбираем пункт "Удаление программ" (не волнуйтесь, мы не будем ничего удалять).
  • Выбираем в открывшемся окошке пункт "Включение или отключение компонентов Windows"
  • Далее, нас интересует пункт "Подсистема Windows для Linux". Этот пункт нужно включить.

Установка Nerd Fonts

Установим крутые темы в виде текста и символов. Переходим на сайт Nerd Fonts. И нажимаем кнопочку Download. Там выбирайте любую тему, которая вам понравилась. Лично мне очень нравится тема JetBrainsMono. Её я и скачал. Ещё я использовал Hack Nerd Font.

Далее, наша задача разархивировать папку куда угодно и установить все шрифты. Самый простой способ это сделать: открыть папку, выделить все файлы (Ctrl+A), правая кнопка мыши, установить для всех пользователей.

Далее, после установки, перейдите в настройки терминала и выберите понравившейся шрифт по умолчанию.

Настройка цветов

Настройка цветов может быть любой, но я подготовил отдельный файл, в котором указаны все настройка цветовой схемы. Для её настройки, перейдите в раздел настройки терминала "Цветовые схемы" и используете готовую.

Чтобы сделать тему уникальной, можно открыть JSON файл (внизу слева) в терминале и настроить цветовую палитру детально. Тут нам тоже помогает Sublime Text

Чтобы всё работало хорошо, скопируйте и вставьте всё, что в фигурных скобках в пункте defaults, не трогайте пункт list и вставьте пункт schemes.

{
    "$help": "https://aka.ms/terminal-documentation",
    "$schema": "https://aka.ms/terminal-profiles-schema",
    "actions": [],
    "defaultProfile": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
    "firstWindowPreference": "defaultProfile",
    "profiles": 
    {
        "defaults": 
        {
            "colorScheme": "xcad",
            "cursorShape": "filledBox",
            "font": 
            {
                "face": "Hack Nerd Font",
                "size": 10
            },
            "historySize": 12000,
            "intenseTextStyle": "bright",
            "opacity": 95,
            "padding": "8",
            "scrollbarState": "visible",
            "useAcrylic": false
        },
        "list": 
        [
            {
                "commandline": "C:\\Program Files\\PowerShell\\7\\pwsh.exe --NoLogo",
                "elevate": false,
                "guid": "{574e775e-4f2a-5b96-ac1e-a2962a402336}",
                "hidden": false,
                "icon": "%userprofile%\\WindowsTerminalIcons\\ps.png",
                "name": "PowerShell",
                "source": "Windows.Terminal.PowershellCore"
            },
            {
                "guid": "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}",
                "hidden": false,
                "icon": "%userprofile%\\WindowsTerminalIcons\\ubuntu.png",
                "name": "Ubuntu Linux",
                "source": "Windows.Terminal.Wsl",
                "startingDirectory": "\\\\wsl$\\Ubuntu-20.04\\home\\xcad"
            },
            {
                "guid": "{46ca431a-3a87-5fb3-83cd-11ececc031d2}",
                "hidden": false,
                "icon": "%userprofile%\\WindowsTerminalIcons\\kali.png",
                "name": "Kali Linux",
                "source": "Windows.Terminal.Wsl",
                "startingDirectory": "\\\\wsl.localhost\\kali-linux\\home\\xcad"
            },
            {
                "guid": "{0caa0dad-35be-5f56-a8ff-afceeeaa6101}",
                "icon": "%userprofile%\\WindowsTerminalIcons\\cmd.png",
                "name": "Commandline"
            },
            {
                "guid": "{b453ae62-4e3d-5e58-b989-0a998ec441b8}",
                "hidden": true,
                "icon": "%userprofile%\\WindowsTerminalIcons\\azure.png",
                "name": "Azure Cloud Shell",
                "source": "Windows.Terminal.Azure"
            }
        ]
    },
    "schemes": 
    [
        {
            "background": "#1A1A1A",
            "black": "#121212",
            "blue": "#2B4FFF",
            "brightBlack": "#666666",
            "brightBlue": "#5C78FF",
            "brightCyan": "#5AC8FF",
            "brightGreen": "#905AFF",
            "brightPurple": "#5EA2FF",
            "brightRed": "#BA5AFF",
            "brightWhite": "#FFFFFF",
            "brightYellow": "#685AFF",
            "cursorColor": "#FFFFFF",
            "cyan": "#28B9FF",
            "foreground": "#F1F1F1",
            "green": "#7129FF",
            "name": "xcad",
            "purple": "#2883FF",
            "red": "#A52AFF",
            "selectionBackground": "#FFFFFF",
            "white": "#F1F1F1",
            "yellow": "#3D2AFF"
       lebar": true,
    "tabSwitcherMode": "inOrder",
    "useAcrylicInTabRow": true
}

Результат:

Starship

Starship

Установим крутую адаптацию. Как сами про себя пишут "Звёздные кораблики", их продукт, это минимальная, молниеносная и бесконечно настраиваемая подсказка для любой оболочки!

Установка весьма проста:

  • Перейти на сайт компании.
  • Установить через уже улучшенный терминал приложение (списки возможных установок написаны на сайте). Я использовал команду winget install starship.
  • Следующая задача — установить нужные настройки в файлы профилей ваших сред (в которых вы пишите). Для начала, я взял самую сложную часть — работу с командной строкой. Для этого, вам нужно установить Clink.
  • Перейдя на сайт книлка, вы попадёте на сложную страницу. На неё нужно перейти сразу на вкладку репозитория на гитхабе.
  • Перейдя на данную страницу, нужно скачать файлы. Найти из можно на странице релиза.
  • Далее, я выбрал просто доступный ассет.
  • Далее, установите программу. По умолчанию, папка установки C:/Program Files (x86)/clink. Перейдите в данную папку.
  • В это время, в саблайме создайте файл starship.lua и заполните его строкой
    load(io.popen('starship init cmd'):read("*a"))()

Результат: