Benutzerdefinierte Befehle Für Entwickler
Eine professionelle Funktion fuer Entwickler, um Daten muhelos zu verarbeiten und zu transformieren.
Warum benutzerdefinierte Befehle?
Hast du dich schon einmal dabei ertappt, nach einem Online-Tool zu suchen, nur um einen Zeitstempel zu konvertieren oder eine JSON-Zeichenkette zu formatieren? Benutzerdefinierte Befehle bringen diese Tools direkt in deinen Zwischenablage-Manager und halten dich im Flow.
Praxisbeispiel
Stell dir vor, du debugst Logs und findest einen Zeitstempel wie 1735704110. Du brauchst das menschenlesbare Datum, willst aber dein Terminal oder deine IDE nicht verlassen.
Mit einem benutzerdefinierten 'dt'-Befehl tippst du einfach:
Es funktioniert in beide Richtungen! Tippe ein Datum, erhalte den Zeitstempel. Du hast die volle Kontrolle.
Im Flow bleiben
- Base64-Encoder/Decoder
- JSON- und XML-Formatter
- URL-Shortener oder ID-Generatoren
- Text-Gross-/Kleinschreibung & Regex-Transformationen
Profi-Tipp
Any executable can be a command. Node, Python, Bash, binaries—you name it.
So erstellst du Befehle
Benutzerdefinierte Befehle sind sprachunabhaengig. Du kannst Python, Node.js, Ruby, C++, Go oder sogar kompilierte Binaries verwenden.
Konfigurationsübersicht
Name: Eine beschreibende Kennung fuer dein Skript.
Ausloese-Praefix: Der kurze Befehl, den du eintippst, um ihn zu aktivieren.
Interpreter-Pfad: Pfad zu deiner Laufzeitumgebung (z. B. /usr/bin/python3). Fuer Binaries leer lassen.
Skriptpfad: Der Pfad zu deinem Skript oder deiner ausfuehrbaren Datei.
Praktisches Codebeispiel (Python)
Das folgende Python-Skript zeigt, wie einfach du die 'dt'-Logik selbst implementieren kannst. Speichere es einfach in eine Datei und verweise den 'Skriptpfad' darauf.
#!/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))