Skip to content

Commit 88b133c

Browse files
author
Xiao Chen
committed
fix(amazonq): open diff in a new tab when another modal is open
1 parent 6c1632f commit 88b133c

File tree

1 file changed

+5
-3
lines changed
  • plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqDoc/controller

1 file changed

+5
-3
lines changed

plugins/amazonq/chat/jetbrains-community/src/software/aws/toolkits/jetbrains/services/amazonqDoc/controller/DocController.kt

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,10 @@
44
package software.aws.toolkits.jetbrains.services.amazonqDoc.controller
55

66
import com.intellij.diff.DiffContentFactory
7-
import com.intellij.diff.DiffManager
7+
import com.intellij.diff.chains.SimpleDiffRequestChain
88
import com.intellij.diff.contents.EmptyContent
9+
import com.intellij.diff.editor.ChainDiffVirtualFile
10+
import com.intellij.diff.editor.DiffEditorTabFilesManager
911
import com.intellij.diff.requests.SimpleDiffRequest
1012
import com.intellij.diff.util.DiffUserDataKeys
1113
import com.intellij.ide.BrowserUtil
@@ -371,7 +373,6 @@ class DocController(
371373
}
372374

373375
override suspend fun processOpenDiff(message: IncomingDocMessage.OpenDiff) {
374-
this.toolWindow?.activate(null)
375376
val session = getSessionInfo(message.tabId)
376377

377378
val project = context.project
@@ -399,7 +400,8 @@ class DocController(
399400
val request = SimpleDiffRequest(message.filePath, leftDiffContent, rightDiffContent, null, null)
400401
request.putUserData(DiffUserDataKeys.FORCE_READ_ONLY, true)
401402

402-
DiffManager.getInstance().showDiff(project, request)
403+
val newDiff = ChainDiffVirtualFile(SimpleDiffRequestChain(request), message.filePath)
404+
DiffEditorTabFilesManager.getInstance(context.project).showDiffFile(newDiff, true)
403405
}
404406
}
405407

0 commit comments

Comments
 (0)