Saltar al contenido principal
MDev Env Pro
Guía: Guía Mise - Adiós nvm/pyenv100% Completado

En este módulo aprenderás:

  • Configuración paso a paso para que VS Code, JetBrains, Neovim, Zed y Helix reconozcan tus binarios y variables sin fricción.
  • Comandos y configuraciones clave para 13. Editores e IDEs: Que Todo Reconozca Mise
  • Ejercicios prácticos listos para probar en tu terminal local

Habla causita: El editor no encuentra Node ni Python… ¿Qué fue mano?

Típica escena de terror: abres tu editor favorito (VS Code, Cursor, WebStorm, Neovim o Zed), abres la terminal integrada o el language server (LSP), y te sale un cartel rojo gigante: “node is not recognized” o “Python interpreter not found”.

Terminas renegando gratis, abriendo 20 pestañas en Google y metiendo variables a lo loco en tu .profile. ¡Tranquilo causita, que todo tiene solución con mise!

Los editores gráficos muchas veces no heredan las variables de tu shell interactiva (como Zsh o Bash). En este módulo aprenderás cómo conectar mise con los editores e IDEs más populares del mercado para que tus LSPs, formateadores y linters funcionen de frente.

VS Code & CursorJetBrains (WebStorm, PyCharm)Neovim, Zed & Helix

1. VS Code & Cursor: Configuración Definitiva

En VS Code o Cursor, la forma más limpia y recomendada es instalar la extensión oficial y configurar las rutas en .vscode/settings.json:

  1. Instala la extensión mise-vscode (jdx.mise-vscode).
  2. En tu archivo .vscode/settings.json de la raíz del proyecto:
.vscode/settings.jsonjson
{
// Activa el entorno de mise automáticamente en la terminal integrada
"terminal.integrated.env.linux": {
  "PATH": "${env:HOME}/.local/share/mise/shims:${env:PATH}"
},
"terminal.integrated.env.osx": {
  "PATH": "${env:HOME}/.local/share/mise/shims:${env:PATH}"
},

// Language Server & Formatter
"typescript.tsdk": "node_modules/typescript/lib",
"eslint.nodePath": ".mise/installs/node",
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python"
}

2. IDEs de JetBrains (WebStorm, IntelliJ, PyCharm, RustRover)

Los IDEs de JetBrains necesitan que les indiques la ruta exacta de los ejecutables administrados por mise:

  • Node.js: En Settings > Languages & Frameworks > Node.js, selecciona la ruta: ~/.local/share/mise/installs/node/<version>/bin/node o activa el shim en ~/.local/share/mise/shims/node.
  • Python: En Project Interpreter, añade un Virtualenv o selecciona ~/.local/share/mise/installs/python/<version>/bin/python.
  • Rust / Go: Apunta el SDK a ~/.local/share/mise/installs/rust o installs/go.

3. Neovim (LazyVim, Mason y LSPConfig)

Si eres del club de terminal pura y Neovim, ¡felicitaciones! Como Neovim corre dentro de tu shell ya activada con mise activate, casi todo funciona automático. Pero para asegurar que Mason y nvim-lspconfig usen los binarios de tu mise.toml:

~/.config/nvim/lua/config/options.lualua
-- Asegurar que los shims o el PATH de mise tengan prioridad
local mise_bin = vim.fn.expand("~/.local/share/mise/shims")
if vim.fn.isdirectory(mise_bin) == 1 then
vim.env.PATH = mise_bin .. ":" .. vim.env.PATH
end

4. Zed & Helix

Los nuevos editores ultrarrápidos en Rust reconocen mise de forma nativa o mediante configuración sencilla:

Zed (~/.config/zed/settings.json)

Zed busca automáticamente ejecutables en el PATH que entrega tu shell de login. Asegúrate de tener mise activate en tu .zshrc o .bash_profile.

Helix (~/.config/helix/languages.toml)

Puedes especificar el binario del LSP directamente:

~/.config/helix/languages.tomltoml
[language-server.typescript-language-server]
command = "typescript-language-server"
args = ["--stdio"]

[[language]]
name = "typescript"
language-servers = ["typescript-language-server"]

Reto Ninja de la Lección 🥷

Demuestra que dominas la integración de mise con Editores e IDEs respondiendo este test rápido:

Reto Ninja: Editores & IDEs 💻
Pregunta 1/3
❯reto --step=1

¿Qué extensión oficial se utiliza para integrar mise con VS Code y Cursor?

Ejercicio Práctico Ninja 🥷

  1. Abre tu editor de código preferido (VS Code, JetBrains o Neovim).
  2. Abre la terminal integrada del editor y ejecuta:
    node -v && mise current
  3. Verifica que la versión impresa coincida exactamente con la declarada en tu mise.toml.
  4. Si coincide al 100%, tu entorno de desarrollo está completamente sincronizado. ¡A chambear como los grandes!

¿Terminaste esta lección?

Marca tu progreso para sincronizar el avance en tu navegador.