Cuando integré el editor Monaco en mi aplicación Electron siguiendo electron-amd-sample , el editor se comportó según lo previsto.
Sin embargo, el ejemplo demuestra la instanciación del editor dentro de una etiqueta de secuencia de comandos dentro de una página HTML, mientras que me gustaría acceder al editor dentro de los archivos Javascript de mis proyectos.
Agregué el siguiente código a un archivo JS para crear una instancia del editor y observé algunos problemas de estilo extraños con el editor:


Tenga en cuenta que tengo otro css definido para la página en la que ahora incrusté el editor, mientras que anteriormente se ejecutaba en una ventana de navegador aislada. Sin embargo, no estoy seguro de cómo saber si esto es un problema.
/** * Sets up the Monaco code editor and links it to the code container div. * * @returns a Promise and passes the editor to resolve. */ async function setupMonacoEditor() { return new Promise((resolve, reject) => { amdRequire(['vs/editor/editor.main'], function () { const editor = monaco.editor.create( document.getElementById('ideCodeContainer'), { language: 'javascript', theme: vs-dark, automaticLayout: true, } ); resolve(editor); }); }); }Bueno, resulta que había dos problemas:
webFrame.setZoomFactor(Math.min(0.00104058272 * height, 0.00059523809 * width));dentro de electron está causando el cambio de tamaño de la ventana de referencias.