Configuración de editores — VS Code y Zed
Un editor de código es el programa donde abres y editas los archivos de un proyecto. En Wiedii el editor por defecto es VS Code; Zed es una alternativa opcional más rápida. Ambos se instalan por Homebrew en el flujo de guia-nuevo-dev. Esta nota cubre dos cosas: cómo abrir y editar archivos, y la convención Wiedii de no autoformatear al guardar.
Cómo abrir y editar un archivo
Abre cualquier archivo desde la terminal con el comando del editor, edítalo y guárdalo con Cmd + S:
code ~/.zshrc # abre el archivo en VS Code
code . # abre la carpeta actual (todo el proyecto)
zed ~/.zshrc # equivalente en Zed
💡 Los archivos que empiezan con un punto (
~/.zshrc,~/.ssh/config,~/.gitconfig) están ocultos en Finder, pero el editor los abre sin problema concode <ruta>.
No autoformatear al guardar
Desactiva "Format on Save". El formateo y el arreglo automático se ejecutan en el commit, vía los hooks de lefthook (prettier --write, eslint --fix, ruff format, gofmt -w, taplo fmt, … todos con stage_fixed: true). Ver lefthook y linters. Por eso el editor no debe formatear al guardar:
- Una sola fuente de verdad. El formato lo decide la config del repo aplicada por el hook, no la versión del formateador que cada quien tenga en su editor → se evita el drift (un dev formatea distinto que el commit y se generan diffs de ida y vuelta).
- Diffs limpios. Guardar no reescribe archivos enteros; el cambio de formato ocurre una sola vez, al commitear.
- Sin commits rechazados. Como el hook formatea y re-stagea (
stage_fixed: true), no hace falta formatear en local para que el commit pase.
No desactiva el resaltado de errores ni el type-checking en vivo — eso se mantiene. Solo se desactiva la reescritura automática del archivo al guardar.
VS Code
En .vscode/settings.json del repo (preferido, así viaja con el proyecto) o en User Settings:
{
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {}
}
codeActionsOnSave: {} evita que extensiones como ESLint apliquen --fix al guardar (mismo motivo: ese fix lo hace el hook).
Zed
En .zed/settings.json del repo (preferido) o en la config global de Zed:
{
"format_on_save": "off",
"code_actions_on_format": {}
}
Dónde ponerla
- Por proyecto (recomendado): commitear
.vscode/settings.jsony.zed/settings.jsonen el repo para que la convención viaje y los nuevos devs la tengan sin configurar nada. Requisito: que el.gitignoreno excluya esos archivos (ver cross-platform / repo-setup). - Global (fallback): ponerlo en los User Settings del editor si se prefiere aplicarlo a todo lo que se abra en la máquina.
Relacionados
- lefthook — los hooks que formatean en el commit (
stage_fixed: true) - linters — formateadores/linters por stack
- herramientas-por-rol — VS Code y Zed como editores estándar
- cross-platform — qué se versiona y qué va al
.gitignore
Fuentes (verificación)
- VS Code —
editor.formatOnSave/editor.codeActionsOnSave(ponercodeActionsOnSave: {}desactiva los fix al guardar). - Zed — All Settings (
format_on_save,code_actions_on_format);format_on_saveadmite"on"/"off", global o por lenguaje.