@ -62,6 +62,10 @@ async function _loadMonaco(setup: IMonacoSetup): Promise<typeof monaco> {
return new Promise((res) => {
// First load editor.main. If it inlines the plugins, we don't want to try to load them from the server.
req(["vs/editor/editor.main"], () => {
if ((setup as any).onlyCore) {
res(monaco);
return;
}
req(
[
"vs/basic-languages/monaco.contribution",
@ -17,6 +17,10 @@ export class ControlledMonacoEditor extends React.Component<{
private lastSubscription: monaco.IDisposable | undefined;
componentDidMount(): void {
this.componentDidUpdate({ value: "" });
componentDidUpdate(lastProps: this["props"]) {
const newOnDidValueChange = this.props.onDidValueChange;
if (newOnDidValueChange !== lastProps.onDidValueChange) {