Editor de código: teclas, numeración, coloreado y autocompletado
El editor de la página de scripting es un área de texto transparente sobre una numeración sincronizada y una capa coloreada. Añade números de línea, teclas de indentación, colores de sintaxis y una lista de autocompletado de la API sin incorporar ninguna biblioteca de editor.
Senzoukria · Documentación · Actualizado en septiembre de 2026
Dónde encontrarlo
- Dónde
- Página de scripting → la superficie central de edición
- Unidad de indentación
- Dos espacios, igual que los scripts de ejemplo y que la salida del asistente
- Corrector ortográfico
- Desactivado
- Fuente del autocompletado
- lib.* en JavaScript, of.* en Python: el lenguaje decide qué lista se ofrece
- Nombre accesible
- «Script source code»
Qué hace
Un área de texto simple pierde el Tab a favor de la navegación por foco, no muestra números de línea y no ofrece atajos: tres cosas que importan en cuanto escribes un script de verdad. Este editor conserva el comportamiento nativo de escritura del navegador (selección, deshacer, IME, accesibilidad) y añade alrededor las piezas que faltan: una numeración que se desplaza con el texto, una capa coloreada debajo y una lista de autocompletado.
La numeración marca la línea del cursor, y la línea que indica una ejecución fallida se resalta en rojo, de modo que el «Line 23» de la consola apunta a algo que puedes ver.
Teclas
| Tecla | Por defecto | Qué cambia |
|---|---|---|
| Tab | inserta dos espacios | Sobre una selección de varias líneas, indenta todo el bloque. |
| Mayús+Tab | — | Quita un nivel de indentación a la línea o al bloque seleccionado. |
| Enter | mantiene la indentación | Conserva la indentación de la línea actual y añade un nivel tras una línea que abre un bloque. |
| Ctrl/Cmd+S | — | Guarda el script. |
| Ctrl/Cmd+Enter | — | Ejecuta el script sobre los datos de muestra. |
| Flecha arriba / abajo | — | Recorre la lista de autocompletado mientras está abierta. |
| Enter o Tab (lista abierta) | — | Acepta la sugerencia resaltada y sustituye el prefijo escrito. |
| Escape | — | Cierra la lista de autocompletado sin insertar nada. |
Coloreado y autocompletado
- El tokenizador hace una sola pasada, carácter a carácter, y emite clases CSS en vez de colores, así que la paleta vive con los tokens de diseño del producto y sigue al tema.
- Los conjuntos de palabras clave son por lenguaje: JavaScript, Python y C++ tienen cada uno el suyo.
- La lista de autocompletado ofrece los ayudantes de cálculo compartidos por ambos lenguajes —sma, ema, wilder, stdev, highest, lowest, rsi y atr— más los constructores de salida del lenguaje declarado.
- Los constructores de salida de JavaScript son line, histogram, markers, levels, table y panel. Python tiene esos seis más bands, un único marker() y un único level(), y toma el tiempo como primer argumento en lugar de las velas.
- Cada sugerencia está transcrita del código que la implementa, nunca escrita de memoria: una sugerencia equivocada enseñaría una API que no existe.
Límites y trampas
- Desplazarse cierra la lista de autocompletado a propósito: una lista posicionada en absoluto acabaría apuntando a otra línea de código.
- No hay plegado, ni multicursor, ni servidor de lenguaje: es un editor pequeño por diseño y no añade peso al bundle.
- La capa coloreada y el área de texto deben compartir las mismas métricas. Si anulas fuentes o espaciados en un tema personalizado, los colores pueden desalinearse del texto escrito.
Páginas relacionadas
- Visión general de la página de scripting
- Consola y vista previa de salidas del script
- Scripting: escribir un indicador (JavaScript)
- Scripting
Esta página en otros idiomas
Preguntas frecuentes
- ¿Por qué el autocompletado ofrece of.* en un script y lib.* en otro?
- La lista sigue al lenguaje declarado del script. Los scripts de JavaScript construyen las salidas a través de lib y los de Python a través de of, y ofrecer ambos enseñaría media API que no existe en el archivo que estás escribiendo.
- ¿Puedo usar indentación de cuatro espacios?
- Puedes escribirla, pero Tab inserta dos espacios, que es lo que producen los scripts de ejemplo y el asistente. Mezclar ambas en un mismo archivo de Python es la causa habitual de un error de indentación.
- ¿El editor valida mi código mientras escribo?
- No. La validación ocurre al ejecutar: la ejecución informa de la línea que falla, y esa línea queda resaltada en la numeración.