Saltar a contenido

Un recorrido

Cada pantalla que tiene Textchum, en el orden en que las irías encontrando, en los dos entornos: la app de macOS a la izquierda y la de GTK a la derecha. Las capturas vienen de un proyecto ficticio pequeño — Harbor, un gestor de puertos que existe solo para que estas imágenes tengan algo honesto que mostrar — y cada una sigue tu ajuste de tema claro u oscuro.

Los dos entornos son el mismo editor sobre el mismo núcleo, así que las imágenes se diferencian sobre todo en lo que aporta la plataforma: el marco de la ventana, dónde se dibuja un panel y qué tipografía entrega el sistema.

La ventana

Un documento por ventana, pestañas por defecto, y un cajón navegador con dos mitades: arriba los búferes abiertos agrupados por proyecto, abajo el árbol de archivos de ese proyecto.

La ventana del editor: barra lateral con búferes abiertos y el árbol del proyecto, un archivo Rust con coloreado y números de línea (macOS) La ventana del editor: barra lateral con búferes abiertos y el árbol del proyecto, un archivo Rust con coloreado y números de línea (macOS)

macOS

La ventana del editor: barra lateral con búferes abiertos y el árbol del proyecto, un archivo Rust con coloreado y números de línea (Linux) La ventana del editor: barra lateral con búferes abiertos y el árbol del proyecto, un archivo Rust con coloreado y números de línea (Linux)

Linux

La barra de título lleva los datos del documento — codificación, tamaño, lenguaje y el número de problemas en cuanto el servidor de lenguaje opina. El árbol acompaña: cambiar de pestaña despliega la ruta del archivo actual y lo resalta.

Al hacer clic derecho en el texto aparece el menú del editor: saltar a la definición, buscar referencias, renombrar el símbolo, el diagnóstico de la línea, el blame de la línea, formatear el documento y las propiedades del archivo, junto a cortar, copiar, pegar y las sugerencias de ortografía. Esos comandos actúan sobre el carácter en el que se hizo clic, no sobre el cursor, que el clic deja donde estaba. Lo que el documento no puede usar no está: sin servidor no hay buscar referencias, sin hallazgos no hay filas de diagnósticos.

Plegado

Fold (⌘[, Ctrl+[ en Linux) cierra el bloque que abre en la línea del cursor; Fold All (⌥⌘[, Ctrl+Alt+[) cierra todos los que no estén ya dentro de uno cerrado, y Unfold All (⌘], Ctrl+]) los abre de nuevo. Un bloque cerrado muestra su línea de apertura con puntos suspensivos detrás.

Los bloques salen del mismo árbol que usa el coloreado, y los pliegues son del documento: cerrar una función en una vista la cierra en todas las vistas de ese archivo.

Columnas

Una ventana es una fila de columnas. Una columna muestra un archivo a la vez y sostiene una o más vistas de él, apiladas.

New Column (⌘\, Ctrl+\ en Linux) pone una columna al lado de esta, mostrando el mismo archivo hasta que se le dé otro; Close Column (⇧⌘\, Ctrl+Shift+\) la quita. Second View (⌥⌘\, Ctrl+Alt+\) apila otra vista del archivo de la columna bajo la primera, y Close View (⇧⌥⌘\, Ctrl+Alt+Shift+\) la retira. Next Pane (⌥⌘, Ctrl+Alt+) mueve el teclado entre ellas.

Cada vista se desplaza por su cuenta, que es de lo que se trata: leer el principio de un archivo mientras se edita el final. La columna es dueña del archivo que muestra, así que cambiar su pestaña lleva todas sus vistas al archivo nuevo.

Los dos lados son un solo documento. Hay una historia y un guardado, así que una edición en cualquiera de los dos es la misma edición y ninguna vista puede quedarse vieja. Ambos toolkits están hechos para esto —un búfer de texto que varias vistas comparten— y lo que no sale gratis es el coloreado, que en macOS vive en el layout y no en el texto; se pinta cada vista.

Servidores de lenguaje

Los diagnósticos llegan como marcas tintadas en el texto y un contador en la barra de título. Nada del editor espera al servidor: se conecta cuando puede, y lo dice cuando no.

Un aviso del servidor de lenguaje marcado en el texto y contado en la barra de título (macOS) Un aviso del servidor de lenguaje marcado en el texto y contado en la barra de título (macOS)

macOS

Un aviso del servidor de lenguaje marcado en el texto y contado en la barra de título (Linux) Un aviso del servidor de lenguaje marcado en el texto y contado en la barra de título (Linux)

Linux

Dejar el puntero sobre un símbolo muestra la documentación del servidor, con el Markdown que envía ya renderizado — bloques de código en monoespaciada, énfasis con estilo. ⌃⌘H la pide para el símbolo bajo el cursor, lo que funciona incluso con el hover del ratón apagado.

Documentación al pasar sobre una función, con firma y prosa renderizadas (macOS) Documentación al pasar sobre una función, con firma y prosa renderizadas (macOS)

macOS

Documentación al pasar sobre una función, con firma y prosa renderizadas (Linux) Documentación al pasar sobre una función, con firma y prosa renderizadas (Linux)

Linux

Ir a la línea (⌘L, Ctrl+L en Linux) acepta un número, o el src/main.rs:412:8 entero pegado desde un registro de compilación — el nombre del archivo y el ruido sobrante se ignoran, la línea queda centrada, y Atrás vuelve a donde se interrumpió la lectura.

Una barra de cambios baja por la izquierda del margen y dice qué líneas difieren del archivo tal como está en git: una franja verde para una línea nueva, azul para una que dice otra cosa, y una cuña roja en el límite donde se borraron líneas —las líneas borradas no ocupan alto, así que una franja no tendría nada que cubrir—. Sigue al búfer y no al archivo en disco, así que acierta antes de guardar, y se recalcula cuando la escritura se detiene. Un archivo sin versión confirmada, o fuera de un repositorio, no lleva marcas en vez de dar todas sus líneas por nuevas.

Autoría de la línea (⌃⌘B, Ctrl+Alt+B en Linux) le pregunta a git quién tocó por última vez la línea bajo el cursor: el commit, el autor y cuándo la escribió, el asunto y el cuerpo del mensaje —donde suele estar el porqué— y el nombre que tenía el archivo entonces si se ha renombrado desde. El commit queda a un botón del portapapeles, que es para lo que sirve la respuesta. Una línea escrita desde el último commit lo dice, en vez de tomar prestado un autor ajeno.

Pregunta con el texto del búfer y no con el archivo en disco, así que una edición sin guardar por encima del cursor no puede desplazar la respuesta a la línea vecina.

En el espacio inicial de una línea, dos teclas hacen algo más de lo habitual. Retroceso borra hasta la parada de tabulación anterior en vez de espacio a espacio, y Tab alinea la línea con la primera línea no vacía de arriba —al pulsarla otra vez, ya alineada, baja un nivel más—. En el resto de la línea ambas teclas son ellas mismas: decide la posición y no un modo, que es lo que evita que sorprendan. Una línea con tabuladores se deja a su propio carácter, que ya es una pulsación por nivel.

Con texto seleccionado, escribir un delimitador de apertura —(, [, {, ', ", `— envuelve la selección en el par en vez de reemplazarla. Lo envuelto sigue seleccionado, así que pulsar otro lo envuelve a su vez: [, ( y { sobre hello dan [({hello})]. Escribir cualquier otra cosa reemplaza la selección como siempre.

El autocompletado aparece al escribir tras caracteres de identificador y .; ↑/↓ eligen, ⏎ o ⇥ aceptan, ⎋ descarta. Un snippet llega con su primer marcador seleccionado, así que escribir lo reemplaza; ⇥ pasa al siguiente marcador y ⇧⇥ al anterior, y uno escrito dos veces se copia mientras se teclea. El último ⇥ deja el cursor donde el snippet lo pidió y devuelve las teclas.

El desplegable de autocompletado listando miembros con sus tipos (macOS) El desplegable de autocompletado listando miembros con sus tipos (macOS)

macOS

El desplegable de autocompletado listando miembros con sus tipos (Linux) El desplegable de autocompletado listando miembros con sus tipos (Linux)

Linux

⇧⌘O lista los símbolos del archivo, filtrables desde el teclado.

El panel de esquema del documento, con una estructura y sus métodos (macOS) El panel de esquema del documento, con una estructura y sus métodos (macOS)

macOS

El panel de esquema del documento, con una estructura y sus métodos (Linux) El panel de esquema del documento, con una estructura y sus métodos (Linux)

Linux

Vista ▸ Estado de servidores responde a «¿está vivo mi servidor?» — qué corre y dónde, y las transiciones recientes de la sesión, refrescado en vivo.

El panel de estado de servidores con una instancia en ejecución y sus transiciones (macOS) El panel de estado de servidores con una instancia en ejecución y sus transiciones (macOS)

macOS

El panel de estado de servidores con una instancia en ejecución y sus transiciones (Linux) El panel de estado de servidores con una instancia en ejecución y sus transiciones (Linux)

Linux

Encontrar cosas

⌘T abre archivos por nombre difuso dentro del proyecto. El ámbito se recorre una vez y se filtra en memoria, así que escribir es instantáneo; la línea de estado dice cuántos de cuántos archivos coinciden y qué hace cada tecla — ⏎ busca, ⌘⏎ abre, para que afinar una consulta nunca abra un archivo por accidente.

Abrir rápidamente: una consulta difusa, una ruta coincidente y la línea de estado con las teclas (macOS) Abrir rápidamente: una consulta difusa, una ruta coincidente y la línea de estado con las teclas (macOS)

macOS

Abrir rápidamente: una consulta difusa, una ruta coincidente y la línea de estado con las teclas (Linux) Abrir rápidamente: una consulta difusa, una ruta coincidente y la línea de estado con las teclas (Linux)

Linux

⇧⌘F busca en el contenido con una expresión regular, con filtros apilados que refinan por texto de línea o por ruta. La línea de estado siempre dice qué hizo la búsqueda.

Buscar en el proyecto: resultados de regex con un filtro de archivo aplicado (macOS) Buscar en el proyecto: resultados de regex con un filtro de archivo aplicado (macOS)

macOS

Buscar en el proyecto: resultados de regex con un filtro de archivo aplicado (Linux) Buscar en el proyecto: resultados de regex con un filtro de archivo aplicado (Linux)

Linux

⇧⌘P es la paleta de comandos: cada acción de menú, buscable de forma difusa, con su atajo al lado.

La paleta de comandos listando acciones de menú y sus atajos (macOS) La paleta de comandos listando acciones de menú y sus atajos (macOS)

macOS

La paleta de comandos listando acciones de menú y sus atajos (Linux) La paleta de comandos listando acciones de menú y sus atajos (Linux)

Linux

Markdown y prosa

Los documentos Markdown abren con una vista previa viva junto al texto, y el corrector ortográfico de prosa — apagado hasta que elijas un diccionario — marca las faltas en púrpura, distinto de los diagnósticos. En código solo mira los comentarios; los identificadores nunca se marcan.

Un documento Markdown con su vista previa al lado (macOS) Un documento Markdown con su vista previa al lado (macOS)

macOS

Un documento Markdown con su vista previa al lado (Linux) Un documento Markdown con su vista previa al lado (Linux)

Linux

Faltas marcadas en la prosa, con la vista previa al lado (macOS) Faltas marcadas en la prosa, con la vista previa al lado (macOS)

macOS

Faltas marcadas en la prosa, con la vista previa al lado (Linux) Faltas marcadas en la prosa, con la vista previa al lado (Linux)

Linux

Ajustes

Los ajustes son un archivo JSON plano que la ventana edita; el archivo es la escotilla de escape, y está vigilado, así que una edición en otro editor se aplica al instante.

Ajustes, pestaña General: apariencia, tema, ubicación, tipografía y los interruptores del editor (macOS) Ajustes, pestaña General: apariencia, tema, ubicación, tipografía y los interruptores del editor (macOS)

macOS

Ajustes, pestaña General: apariencia, tema, ubicación, tipografía y los interruptores del editor (Linux) Ajustes, pestaña General: apariencia, tema, ubicación, tipografía y los interruptores del editor (Linux)

Linux

Proyectos decide cómo se encuentran las raíces, qué oculta el árbol y qué ajustes del editor sobrescribe una raíz.

Ajustes, pestaña Proyectos: detección, patrones ocultos y sobrescrituras por proyecto (macOS) Ajustes, pestaña Proyectos: detección, patrones ocultos y sobrescrituras por proyecto (macOS)

macOS

Ajustes, pestaña Proyectos: detección, patrones ocultos y sobrescrituras por proyecto (Linux) Ajustes, pestaña Proyectos: detección, patrones ocultos y sobrescrituras por proyecto (Linux)

Linux

Los nombres ocultos son patrones glob, editados uno por línea, con un menú que añade un preajuste con nombre en un clic.

El editor de ocultos abierto como globo, un patrón por línea, con el menú de preajustes (macOS) El editor de ocultos abierto como globo, un patrón por línea, con el menú de preajustes (macOS)

macOS

El editor de ocultos abierto como globo, un patrón por línea, con el menú de preajustes (Linux) El editor de ocultos abierto como globo, un patrón por línea, con el menú de preajustes (Linux)

Linux

Presets edita esos conjuntos con nombre del mismo modo. Empiezan como integrados; edita cualquiera y tu lista toma el mando, así que el que borres sigue borrado hasta que restaures los integrados. Esta pantalla y la siguiente no tienen imagen del entorno GTK porque allí no son pantallas: los presets están dentro de Projects, y los preprocesadores dentro de Language Servers.

Ajustes, pestaña Presets: conjuntos glob con nombre, cada uno
editable un patrón por línea Ajustes, pestaña Presets: conjuntos glob con nombre, cada uno
editable un patrón por línea

Servidores de lenguaje sobrescribe qué comando sirve un lenguaje, para todos los proyectos o para una raíz.

Ajustes, pestaña Servidores de lenguaje: comandos por defecto y por proyecto (macOS) Ajustes, pestaña Servidores de lenguaje: comandos por defecto y por proyecto (macOS)

macOS

Ajustes, pestaña Servidores de lenguaje: comandos por defecto y por proyecto (Linux) Ajustes, pestaña Servidores de lenguaje: comandos por defecto y por proyecto (Linux)

Linux

Preprocesadores ejecuta formateadores antes de cada guardado: un comando por línea, cada uno leyendo el documento por la entrada estándar y devolviéndolo por la salida estándar.

Ajustes, pestaña Preprocesadores: cadenas de comandos por
lenguaje Ajustes, pestaña Preprocesadores: cadenas de comandos por
lenguaje

Cosas pequeñas

⇧⌘N empieza un documento nuevo en el lenguaje que elijas, filtrado desde el teclado, para que el coloreado funcione antes del primer guardado.

El selector Nuevo con formato, filtrando la lista de lenguajes (macOS) El selector Nuevo con formato, filtrando la lista de lenguajes (macOS)

macOS

El selector Nuevo con formato, filtrando la lista de lenguajes (Linux) El selector Nuevo con formato, filtrando la lista de lenguajes (Linux)

Linux

Y el panel Acerca de dice qué compilación estás usando — una versión real, incluso para una compilación local.

El panel Acerca de con la versión, el autor, el repositorio y la licencia (macOS) El panel Acerca de con la versión, el autor, el repositorio y la licencia (macOS)

macOS

El panel Acerca de con la versión, el autor, el repositorio y la licencia (Linux) El panel Acerca de con la versión, el autor, el repositorio y la licencia (Linux)

Linux