Skip to content

Commit 6c02bbf

Browse files
committed
fix(ui): improve editor handling in SummaryMessagesAction
- Replace setSelectedEditor with openFile for better file opening - Use specific editor reference instead of selectedTextEditor - Add fallback to write directly to file if editor is null
1 parent 6bd52a0 commit 6c02bbf

File tree

1 file changed

+14
-5
lines changed

1 file changed

+14
-5
lines changed

core/src/main/kotlin/cc/unitmesh/devti/gui/toolbar/SummaryMessagesAction.kt

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,26 +64,35 @@ class SummaryMessagesAction : AnAction("Summary Messages", "Summary all current
6464
val userPrompt = copyMessages(project)
6565

6666
val fileEditorManager = FileEditorManager.getInstance(project)
67+
var memoriesEditor: com.intellij.openapi.editor.Editor? = null
68+
6769
ApplicationManager.getApplication().invokeAndWait {
6870
val virtualFile = LocalFileSystem.getInstance().refreshAndFindFileByIoFile(file)
6971
if (virtualFile != null) {
70-
fileEditorManager.setSelectedEditor(virtualFile, "text-editor")
72+
fileEditorManager.openFile(virtualFile, true)
73+
memoriesEditor = fileEditorManager.getSelectedEditor(virtualFile)?.let { fileEditor ->
74+
(fileEditor as? com.intellij.openapi.fileEditor.TextEditor)?.editor
75+
}
7176
}
7277
}
7378

74-
val editor = fileEditorManager.selectedTextEditor
7579
val stream: Flow<String> = LlmFactory.create(project).stream(systemPrompt, userPrompt)
7680
val result = StringBuilder()
7781

7882
stream.cancellable().collect { chunk ->
7983
result.append(chunk)
8084
WriteCommandAction.writeCommandAction(project).compute<Any, RuntimeException> {
81-
editor?.document?.setText(result.toString())
82-
editor?.caretModel?.moveToOffset(editor?.document?.textLength ?: 0)
83-
editor?.scrollingModel?.scrollToCaret(ScrollType.RELATIVE)
85+
memoriesEditor?.document?.setText(result.toString())
86+
memoriesEditor?.caretModel?.moveToOffset(memoriesEditor?.document?.textLength ?: 0)
87+
memoriesEditor?.scrollingModel?.scrollToCaret(ScrollType.RELATIVE)
8488
}
8589
}
8690

91+
// if memoriesEditor null append to file with result
92+
if (memoriesEditor != null) {
93+
file.writeText(result.toString())
94+
}
95+
8796
AutoDevStatusService.notifyApplication(AutoDevStatus.Done)
8897
} catch (e: Exception) {
8998
AutoDevStatusService.notifyApplication(AutoDevStatus.Error)

0 commit comments

Comments
 (0)