From 32dc1ed46377ba23aaa1513b9f0fcaf8012948c5 Mon Sep 17 00:00:00 2001 From: fofolee Date: Sun, 18 Feb 2024 16:57:05 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E8=87=AA=E5=8A=A8=E8=A1=A5?= =?UTF-8?q?=E5=85=A8=E9=87=8D=E5=A4=8D=E6=B3=A8=E5=86=8C=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/MonacoEditor.vue | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/components/MonacoEditor.vue b/src/components/MonacoEditor.vue index 7edd4fc..cf90f08 100644 --- a/src/components/MonacoEditor.vue +++ b/src/components/MonacoEditor.vue @@ -27,6 +27,8 @@ let languageCompletions = importAll( require.context("../plugins/monaco/completions/", false, /\.js$/) ); +let monacoCompletionProviders = {}; + let cmdCtrlKey = utools.isMacOs() ? "⌘" : "Ctrl"; let optAltKey = utools.isMacOs() ? "⌥" : "Alt"; @@ -145,6 +147,8 @@ export default { }); // 注册自动补全 Object.keys(languageCompletions).forEach((language) => { + // 防止自动补全被多次注册 + if (monacoCompletionProviders[language]) return; monaco.languages.registerCompletionItemProvider(language, { provideCompletionItems: function (model, position) { var word = model.getWordUntilPosition(position); @@ -164,6 +168,7 @@ export default { }; }, }); + monacoCompletionProviders[language] = true }); }, setEditorTheme() {