Comandos personalizados Para desarrolladores
Una funcion de nivel profesional para que los desarrolladores procesen y transformen datos sin esfuerzo.
Por que comandos personalizados?
Alguna vez te encontraste buscando una herramienta en linea solo para convertir un timestamp o formatear una cadena JSON? Los comandos personalizados traen esas herramientas directamente a tu gestor de portapapeles, manteniendote en el flujo.
Escenario del mundo real
Imagina que estas depurando logs y encuentras un timestamp como 1735704110. Necesitas la fecha legible pero no quieres salir de tu terminal o IDE.
Con un comando personalizado 'dt', simplemente escribes:
Funciona en ambos sentidos! Escribe una fecha y obtienes el timestamp. Tienes control total.
Mantén el flujo
- Codificadores/decodificadores Base64
- Formateadores de JSON y XML
- Acortadores de URL o generadores de ID
- Transformaciones de mayusculas/minusculas y regex
Consejo profesional
Any executable can be a command. Node, Python, Bash, binaries—you name it.
Como crear comandos
Los comandos personalizados son agnosticos al lenguaje. Puedes usar Python, Node.js, Ruby, C++, Go o incluso binarios compilados.
Desglose de configuración
Nombre: un identificador descriptivo para tu script.
Prefijo de activacion: el comando corto que escribiras para activarlo.
Ruta del interprete: ruta a tu runtime (por ejemplo, /usr/bin/python3). Deja vacio para binarios.
Ruta del script: la ruta a tu script o archivo ejecutable.
Ejemplo de codigo practico (Python)
El siguiente script de Python muestra lo facil que es implementar la logica de 'dt' por tu cuenta. Guardalo en un archivo y apunta la 'Ruta del script' a el.
#!/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))