Skip to content

Commit 68b7085

Browse files
committed
Fix to trigger scans for only active editor text change.
1 parent 6f13f12 commit 68b7085

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/CodeWhispererCodeScanManager.kt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -387,7 +387,6 @@ class CodeWhispererCodeScanManager(val project: Project) {
387387
*/
388388
fun addCodeScanUI(setSelected: Boolean = false) = runInEdt {
389389
reset()
390-
EditorFactory.getInstance().eventMulticaster.addDocumentListener(documentListener, project)
391390
val problemsWindow = getProblemsWindow()
392391
if (!problemsWindow.contentManager.contents.contains(codeScanIssuesContent)) {
393392
problemsWindow.contentManager.addContent(codeScanIssuesContent)

plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/listeners/CodeWhispererCodeScanDocumentListener.kt

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,10 @@ package software.aws.toolkits.jetbrains.services.codewhisperer.codescan.listener
66
import com.intellij.openapi.editor.event.DocumentEvent
77
import com.intellij.openapi.editor.event.DocumentListener
88
import com.intellij.openapi.fileEditor.FileDocumentManager
9+
import com.intellij.openapi.fileEditor.FileEditorManager
910
import com.intellij.openapi.project.Project
1011
import com.intellij.openapi.util.TextRange
12+
import com.intellij.openapi.vfs.isFile
1113
import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.CodeWhispererCodeScanIssue
1214
import software.aws.toolkits.jetbrains.services.codewhisperer.codescan.CodeWhispererCodeScanManager
1315
import software.aws.toolkits.jetbrains.services.codewhisperer.explorer.CodeWhispererExplorerActionManager
@@ -22,6 +24,9 @@ internal class CodeWhispererCodeScanDocumentListener(val project: Project) : Doc
2224
val scanManager = CodeWhispererCodeScanManager.getInstance(project)
2325
val treeModel = scanManager.getScanTree().model
2426

27+
val fileEditorManager = FileEditorManager.getInstance(project)
28+
val activeEditor = fileEditorManager.selectedEditor
29+
2530
val editedTextRange = TextRange.create(event.offset, event.offset + event.oldLength)
2631
val nodes = scanManager.getOverlappingScanNodes(file, editedTextRange)
2732
nodes.forEach {
@@ -33,8 +38,8 @@ internal class CodeWhispererCodeScanDocumentListener(val project: Project) : Doc
3338
issue.rangeHighlighter?.textAttributes = null
3439
}
3540
scanManager.updateScanNodes(file)
36-
37-
if (CodeWhispererExplorerActionManager.getInstance().isAutoEnabledForCodeScan() &&
41+
if (activeEditor != null && activeEditor.file == file &&
42+
file.isFile && CodeWhispererExplorerActionManager.getInstance().isAutoEnabledForCodeScan() &&
3843
!CodeWhispererExplorerActionManager.getInstance().isMonthlyQuotaForCodeScansExceeded() &&
3944
!isUserBuilderId(project)
4045
) {

0 commit comments

Comments
 (0)