El editor de Monaco es el editor de código completo de VS Code. Consulte los documentos de código VS para ver algunas de las características compatibles.

Pruebe el editor y vea varios ejemplos en nuestro patio interactivo.
El patio de recreo es la mejor manera de aprender sobre cómo usar el editor, que características es soporte, para probar diferentes versiones y crear ejemplos reproducibles mínimos para informes de errores.
> npm install monaco-editor
Obtendrás:
/esm : la versión ESM del editor (compatible con EG Webpack)/dev : AMD Bundled, no minificado/min : AMD incluido y minificado/min-maps : mapas de origen para minmonaco.d.ts : Esto especifica la API del editor (esto es lo que realmente está versado, todo lo demás se considera privado y podría romper con cualquier lanzamiento). Se recomienda desarrollar contra la versión dev y en producción para usar la versión min .
El editor de Monaco es mejor conocido por ser el editor de texto que podera el código. Sin embargo, es un poco más matizado. Se necesita cierta comprensión básica sobre los conceptos subyacentes para usar el editor de Mónaco de manera efectiva.
Los modelos están en el corazón del editor de Mónaco. Es con lo que interactúas al administrar contenido. Un modelo representa un archivo que se ha abierto. Esto podría representar un archivo que existe en un sistema de archivos, pero no tiene que hacerlo. Por ejemplo, el modelo contiene el contenido de texto, determina el lenguaje del contenido y rastrea el historial de edición del contenido.
Cada modelo se identifica por un URI. Es por eso que no es posible que dos modelos tengan el mismo URI. Idealmente, cuando representa el contenido en el editor de Monaco, debe pensar en un sistema de archivos virtual que coincida con los archivos que sus usuarios están editando. Por ejemplo, puede usar file:/// como ruta base. Si se crea un modelo sin un URI, su URI será inmemory://model/1 . El número aumenta a medida que se crean más modelos.
Un editor es una vista de usuario que enfrenta el modelo. Esto es lo que se adjunta al DOM y lo que sus usuarios ven visualmente. Las operaciones típicas del editor están mostrando un modelo, administrando el estado de vista o ejecutando acciones o comandos.
Los proveedores proporcionan funciones de editor inteligente. Por ejemplo, esto incluye información de finalización y desplazamiento. No es lo mismo que, pero a menudo se mapea con las características del protocolo del servidor de idiomas.
Los proveedores trabajan en modelos. Algunas características inteligentes dependen del URI del archivo. Por ejemplo, para que TypeScript resuelva las importaciones, o para JSON IntelliSense para determinar qué esquema JSON aplicar a qué modelo. Por lo tanto, es importante elegir URI del modelo adecuado.
Muchos objetos relacionados con Mónaco a menudo implementan el método .dispose() . Este método está destinado a realizar limpiezas cuando ya no se necesita un recurso. Por ejemplo, llamar model.dispose() no registrarlo, liberando el URI para un nuevo modelo. Los editores deben estar dispuestos a liberar recursos y eliminar a sus oyentes de modelos.
monaco.d.ts .Cree problemas en este repositorio para cualquier cosa relacionada con el editor de Mónaco. Busque problemas existentes para evitar duplicados.
❓ ¿Cuál es la relación entre el código VS y el editor de Mónaco?
El editor de Mónaco se genera directamente de las fuentes de VS Code con algunos servicios de cuñas en torno a los servicios que el código necesita para que se ejecute en un navegador web fuera de su hogar.
❓ ¿Cuál es la relación entre la versión de VS Code y la versión del editor de Mónaco?
Ninguno. El editor de Mónaco es una biblioteca y refleja directamente el código fuente.
❓ He escrito una extensión para VS Code, ¿funcionará en el editor de Mónaco en un navegador?
No.
Nota: Si la extensión se basa completamente en el LSP y si el servidor de idiomas se escribe en JavaScript, entonces sería posible.
❓ ¿Por qué todos estos trabajadores web y por qué debería importarme?
Los servicios de idiomas crean trabajadores web para calcular cosas pesadas fuera del hilo de la interfaz de usuario. Cuestan casi nada en términos de sobrecarga de recursos y no debe preocuparse demasiado por ellos, siempre y cuando haga que funcionen (vea por encima del caso de dominio cruzado).
❓ ¿Qué es este loader.js ? ¿Puedo usar require.js ?
Es un cargador AMD que usamos en el código VS. Sí.
❓ Veo la advertencia "no pudo crear trabajador web". ¿Qué tengo que hacer?
HTML5 no permite que las páginas carguen en file:// creen trabajadores web. Cargue el editor con un servidor web en http:// o https:// esquemas.
❓ ¿El editor es compatible con navegadores móviles o marcos de aplicaciones web móviles?
No.
❓ ¿Por qué el editor no admite las gramáticas de textmate?
monaco-editor , vscode-oniguruma y vscode-textmate para obtener soporte de gramática TM en el editor. ¡Estamos dando la bienvenida a las contribuciones de la comunidad! Consulte contribuyendo para obtener detalles sobre cómo puede contribuir de manera efectiva, cómo puede ejecutar el editor de las fuentes y cómo puede depurar y solucionar problemas.
Este proyecto ha adoptado el Código de Conducta Open Open Microsoft. Para obtener más información, consulte el Código de Conducta Preguntas frecuentes o comuníquese con [email protected] con cualquier pregunta o comentario adicional.
Licenciado bajo la licencia del MIT.