通义灵码的 idea 插件,版本2.11.3,在idea 2026.1下,点击代码应用按钮报错

com.intellij.openapi.diagnostic.RuntimeExceptionWithAttachments: Access is allowed from write thread only; If you access or modify model on EDT consider wrapping your code in WriteIntentReadAction  or ReadAction; see https://jb.gg/ij-platform-threading for details
Current thread: Thread[#59,AWT-EventQueue-0,10,main] 1937319283 (EventQueue.isDispatchThread()=true)
SystemEventQueueThread: (same)
    at com.intellij.util.concurrency.ThreadingAssertions.createThreadAccessException(ThreadingAssertions.java:270)
    at com.intellij.util.concurrency.ThreadingAssertions.throwThreadAccessException(ThreadingAssertions.java:258)
    at com.intellij.util.concurrency.ThreadingAssertions.throwWriteIntentReadAccess(ThreadingAssertions.java:230)
    at com.intellij.util.concurrency.ThreadingAssertions.assertWriteIntentReadAccess(ThreadingAssertions.java:211)
    at com.intellij.openapi.application.impl.ApplicationImpl.assertWriteIntentLockAcquired(ApplicationImpl.java:1244)
    at com.intellij.openapi.application.TransactionGuardImpl.assertWriteActionAllowed(TransactionGuardImpl.java:141)
    at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveDocument(FileDocumentManagerImpl.java:341)
    at com.intellij.openapi.fileEditor.impl.FileDocumentManagerImpl.saveDocument(FileDocumentManagerImpl.java:337)
    at com.alibabacloud.intellij.cosy.ui.search.component.markdown.CodeMarkdownHighlightComponent$7.mouseClicked(CodeMarkdownHighlightComponent.java:497)
    at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:280)
    at java.desktop/java.awt.AWTEventMulticaster.mouseClicked(AWTEventMulticaster.java:279)
    at java.desktop/java.awt.Component.processMouseEvent(Component.java:6634)
    at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3400)
    at java.desktop/java.awt.Component.processEvent(Component.java:6396)
    at java.desktop/java.awt.Container.processEvent(Container.java:2260)
    at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5008)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2318)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4836)
    at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4932)
    at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4571)
    at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4503)
    at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2304)
    at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2713)
    at java.desktop/java.awt.Component.dispatchEvent(Component.java:4836)
    at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:734)
    at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:711)
    at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.kt:720)
    at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.kt:626)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.kt:557)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0$0(IdeEventQueue.kt:381)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:928)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0$0$0(IdeEventQueue.kt:380)
    at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$0(IdeEventQueue.kt:1110)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:114)
    at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:1110)
    at com.intellij.ide.IdeEventQueue.dispatchEvent$lambda$0(IdeEventQueue.kt:375)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.kt:415)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
    at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)

这个错误是因为你的代码在 AWT 事件分发线程(EDT)中直接调用了 saveDocument,但没有持有 IntelliJ 平台要求的 写意图锁(write intent lock)。在 IntelliJ 平台中,任何修改模型的操作(包括保存文件)都必须在写线程中执行。鼠标点击事件的处理方法运行在 EDT 上,而 EDT 不是写线程,因此抛出了异常。

展开
收起
1739514095017763 2026-05-14 17:41:32 25 分享 版权
0 条回答
写回答
取消 提交回答

基于通义大模型的 AI 编码辅助工具,支持代码智能生成、单元测试生成、问题排查、研发智能问答等功能,为开发者带来高效、流畅的编码体验。

还有其他疑问?
咨询AI助理