Пользовательские команды Для разработчиков
Профессиональная функция для разработчиков, чтобы обрабатывать и трансформировать данные без усилий.
Зачем нужны пользовательские команды?
Когда-нибудь приходилось искать онлайн-инструмент, чтобы конвертировать timestamp или отформатировать строку JSON? Пользовательские команды приносят эти инструменты прямо в менеджер буфера обмена, сохраняя ваш поток работы.
Реальный сценарий
Представьте, что вы отлаживаете логи и находите timestamp вроде 1735704110. Вам нужна читаемая дата, но не хочется выходить из терминала или IDE.
С пользовательской командой 'dt' вы просто вводите:
Работает в обе стороны! Введите дату — получите timestamp. Полный контроль у вас.
Не теряйте фокус
- Кодировщики/декодировщики Base64
- Форматтеры JSON и XML
- Сокращатели URL или генераторы ID
- Преобразования регистра и regex-трансформации
Совет профессионала
Any executable can be a command. Node, Python, Bash, binaries—you name it.
Как создавать команды
Пользовательские команды не зависят от языка. Вы можете использовать Python, Node.js, Ruby, C++, Go или даже скомпилированные бинарники.
Описание конфигурации
Имя: описательный идентификатор для вашего скрипта.
Префикс запуска: короткая команда, которую вы вводите для активации.
Путь к интерпретатору: путь к среде выполнения (например, /usr/bin/python3). Оставьте пустым для бинарников.
Путь к скрипту: путь к вашему скрипту или исполняемому файлу.
Практический пример кода (Python)
Следующий Python-скрипт показывает, как легко реализовать логику 'dt' самостоятельно. Просто сохраните его в файл и укажите 'Путь к скрипту'.
#!/usr/bin/env python3
import sys
from datetime import datetime
DATE_FORMATS = [
"%Y-%m-%d",
"%Y-%m-%d %H:%M:%S",
"%Y/%m/%d",
"%Y/%m/%d %H:%M:%S"
]
def is_timestamp(s: str):
try:
float(s)
return True
except:
return False
def parse_date(s: str):
for fmt in DATE_FORMATS:
try:
return datetime.strptime(s, fmt)
except:
continue
return None
def convert(s: str):
if is_timestamp(s):
ts = float(s)
if ts > 1e12:
ts = ts / 1000
dt = datetime.fromtimestamp(ts)
return dt.strftime("%Y-%m-%d %H:%M:%S")
dt = parse_date(s)
if dt:
return int(dt.timestamp())
return f"Unrecognized format: {s}"
if __name__ == "__main__":
if len(sys.argv) < 2:
print("Parameter error")
sys.exit(1)
value = sys.argv[1]
print(convert(value))