diff --git a/src/renderer/components/monaco-editor/monaco-editor.tsx b/src/renderer/components/monaco-editor/monaco-editor.tsx index 5f0b70a292..165177facd 100644 --- a/src/renderer/components/monaco-editor/monaco-editor.tsx +++ b/src/renderer/components/monaco-editor/monaco-editor.tsx @@ -29,6 +29,7 @@ import ReactMonacoEditor, { EditorDidMount, MonacoEditorProps } from "react-mona import { ThemeStore } from "../../theme.store"; import { UserStore } from "../../../common/user-store"; import { cssNames } from "../../utils"; +import { dockStore } from "../dock/dock.store"; interface Props extends MonacoEditorProps { id?: string; // associate editor's model.uri with some ID (e.g. DockStore.TabId) @@ -64,6 +65,7 @@ export class MonacoEditor extends React.Component { disposeOnUnmount(this, [ reaction(() => this.model, this.onModelChange), + dockStore.onTabChange(() => this.saveViewState()), // backup cursor position, etc. ]); } @@ -75,12 +77,6 @@ export class MonacoEditor extends React.Component { this.editor.focus(); }; - onChange: MonacoEditorProps["onChange"] = (value, event) => { - logger.info(`[MONACO]: changed value`, { value, event }); - this.saveViewState(); // backup current view state (cursor position, etc.) - this.props.onChange?.(value, event); - }; - @computed get model(): monaco.editor.ITextModel { const { language, value, id = this.staticId } = this.props; const model = this.getModelById(id); @@ -147,7 +143,6 @@ export class MonacoEditor extends React.Component {