Вступление
Весьма ироничен тот факт, что разработчики используют кучу разных приложений и ПО, чтобы создавать… приложения и ПО. С течением времени мы выработали строгие предпочтения в отношении нескольких избранных инструментов в рамках их применения. Тем не менее то, что некоторые элементы ПО стали нормой, ещё не значит, что новые приглядывать не стоит. Я подготовил обзор нескольких недооценённых, но чрезвычайно полезных приложений, которые испробовал сам в ежедневной работе и считаю, что они заслуживают вашего внимания.
Поскольку я не хочу, чтобы мои рекомендации фокусировались на конкретной области программирования, значительная часть приведённых ниже приложений будет основана на работе в терминале, а значит окажется актуальной для большинства программистов.
Содержание
- Ungit
- Termius
- Alacritty
- Byobu
- Spacedesk
1. Ungit
Всем прекрасно известно, что очень сложно управлять репозиторием на Git через интерфейс командной строки. И когда у вас открыт проект с 20 или около того ветками, то тяжело поспевать делать для всех них коммиты, а тем более следовать модели ветвления. Ещё хуже, когда новички впервые пытаются использовать Git для осуществления контроля версий. CLI не позволяет пользователям полноценно ощутить все возможности Git.
Ungit решает все эти сложности с помощью интуитивно понятного GUI для управления репозиториями.
Ungit представляет репозиторий в виде паутины, состоящей из коммитов и веток. Вот, как он выглядит в действии:
Вы только взгляните на эти ветки! Помимо этого, очень легки в работе коммиты, а в сочетании с забавной анимацией, вы получаете реальное ощущение завершения коммита — то, чего в командной строке получить невозможно:
Переключение между ветками тоже происходит относительно легко, а UI позволяет видеть историю коммитов в текущей ветке:
Ungit поддерживает слияние веток, создание тегов и многое другое.
2. Termius
Что, если вам нужен доступ к рабочему компьютеру или серверу из дома? Для получения доступа к рабочему терминалу можно использовать SSH посредством простой команды ssh
. Но как вариант можно также использовать Termius.
Termius — это совместимый с Mosh SSH-клиент, который работает на всевозможных платформах — Windows, macOS. Linux, iOS и Android.
Это приложение поддерживает различные темы, шрифты (и их размеры), позволяя настроить его на свой вкус, хотя даже по умолчанию Termius выглядит весьма прилично.
Одной из интереснейших его возможностей, помимо внешнего вида и работы с SSH, является переадресация портов, которой я часто пользуюсь в Jupyter.
Он также поддерживает запоминание нескольких хостов, которые позднее буквально на лету можно синхронизировать с мобильными устройствами при обработке процессов на удалённом сервере. Синхронизация выполняется через аккаунты, которые можно зарегистрировать как бесплатно, так и за скромную плату, получив вдобавок полезные бонусы.
3. Alacritty
Alacritty мой любимый локальный эмулятор терминала. Он поддерживается в Windows, macOS и многих дистрибутивах Linux. Одна из наиболее притягательных его характеристик — это поддержка ускорения GPU. Благодаря ей создатели этого эмулятора терминала могут похвастаться невероятно быстрой производительностью в сравнении с альтернативами.
Alacritty поставляется в более простом пакете, нежели Termius. Тем не менее это не означает недостатка вариантов его настройки. Это приложение принимает файл конфигурации (с расширением .yml), который доступен в соответствующем репозитории. В нём вы можете настроить практически всё, связанное с терминалом, начиная от цветовых схем и привязок клавиш, заканчивая затемнением фона. Будь вы активный пользователь терминала или же просто нуждаетесь в доступе к локальным директориям — попробуйте Alacritty.
4. Byobu
Технически он к ПО не относится, но я решил внести его в этот обзор, потому что очень уж долго и сам использовал в рабочем процессе. Это терминальный мультиплексор и менеджер окон. Можете рассматривать его как лучшую альтернативу tmux и GNU Screen, о которых вы, быть может, никогда и не слышали. Если вы работаете на удалённом сервере (на Termius) или часто открываете несколько окон терминала на собственной машине, Byobu определённо вам пригодится.
Вместо открывания нескольких экземпляров, Byobu обрабатывает все экземпляры терминала в одном интерфейсе. Предположим, у вас открыто два терминала для задачи и вам нужно с удобством обращаться к ним обоим одновременно. Посмотрим, как с этим справится Byobu:
Здесь Byobu выполняется под Alacritty.
Как вы видите, оказывается очень просто создать новый экземпляр терминала и в итоге переключаться между ним и имевшимся ранее. Ваши экземпляры (или “окна” в зависимости от документации) перечислены внизу в строке состояний, которая уже сама по себе заполнена полезными фишками, причём всё это вы получаете прямо “из коробки”.
И на этом ещё не всё: вы можете настроить в каждом окне отдельные панели, что позволит создать идеальную схему терминала.
На мой взгляд Byobu гораздо легче освоить по сравнению с другими мультиплексорами. Он задействует функциональные клавиши — F1, F2, F3 и т.п. в качестве основных привязок. Лично для меня размещение всего в один ряд кажется лучшей идеей, чем разброс по клавиатуре, даже если некоторые привязки могут приводить к скрючиванию пальцев ?. Если же вы вдруг запутаетесь или просто ещё не будете иметь достаточно опыта, то всегда можете нажать Shift+F1 для вызова памятки.
5. Spacedesk
Spacedesk позволяет конвертировать iPad, старый ноутбук с wifi или даже телефон во второй монитор для основной машины. На сегодня такая функциональность может показаться крайне ограниченной, если не учитывать сколько времени мы тратим на простое переключение между вкладками.
Так что вместо покупки второго монитора или попытки собрать его самостоятельно вы можете сэкономить время и деньги, просто использовав это приложение. Лично я использовал его для возвращения в строй своего старого ноутбука с новой задачей и не заметил никаких проблем или багов. Для работы приложения совершенно не требуется проводных соединений между устройствами, а ограничение дистанции между ними определяется лишь качеством интернет-соединения.
Spacedesk по-прежнему находится на стадии beta, но разработчики планируют его официальный релиз уже в этом году, так что будьте начеку!
Читайте также:
Читайте нас в Telegram, VK и Яндекс.Дзен
Перевод статьи Richard So: 5 Underrated Apps for Programmers You Should Use Right Now