Skip to content

Commit 6dc48f6

Browse files
authored
Fix for adding listeners for projects post startup for all projects (#4396)
* Fix for repeated post project startup activity for code scans for all projects. * Added comment description in project startup activity. * Fix for duplicates issues in popups for file scans. * added if check for file key and detekt fixes. * Update CodeWhispererProjectStartupActivity.kt comment
1 parent 48c9f7e commit 6dc48f6

File tree

2 files changed

+19
-11
lines changed

2 files changed

+19
-11
lines changed

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -560,6 +560,10 @@ class CodeWhispererCodeScanManager(val project: Project) {
560560
}
561561
// Remove the old scan nodes from the file node.
562562
fileNode.removeAllChildren()
563+
// Remove the entry for the file from the scan nodes lookup.
564+
if (scanNodesLookup.containsKey(file)) {
565+
scanNodesLookup.remove(file)
566+
}
563567

564568
// Add new issues to the file node.
565569
newIssues.forEach { issue ->

plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/services/codewhisperer/startup/CodeWhispererProjectStartupActivity.kt

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,21 @@ class CodeWhispererProjectStartupActivity : StartupActivity.DumbAware {
4040
override fun runActivity(project: Project) {
4141
if (!isQConnected(project)) return
4242

43-
// ---- Everything below will be triggered only when CW is enabled, everything above will be triggered once per project ----
43+
// ---- Everything below will be triggered only when CW is enabled ----
44+
45+
val actionManager = CodeWhispererExplorerActionManager.getInstance()
46+
val scanManager = CodeWhispererCodeScanManager.getInstance(project)
47+
actionManager.setMonthlyQuotaForCodeScansExceeded(false)
48+
// Run Proactive Code File Scan and disabling Auto File Scan for Builder ID Users.
49+
if (isUserBuilderId(project)) {
50+
actionManager.setAutoCodeScan(project, false)
51+
} else {
52+
// Setting up listeners for Auto File Code Scan triggers.
53+
scanManager.setEditorListeners()
54+
scanManager.debouncedRunCodeScan(CodeWhispererConstants.CodeAnalysisScope.FILE)
55+
}
56+
57+
// ---- Everything below will be triggered once after startup ----
4458

4559
if (runOnce) return
4660

@@ -63,16 +77,6 @@ class CodeWhispererProjectStartupActivity : StartupActivity.DumbAware {
6377
project.messageBus.connect().subscribe(LookupManagerListener.TOPIC, CodeWhispererIntelliSenseAutoTriggerListener)
6478
project.messageBus.connect().subscribe(CODEWHISPERER_USER_ACTION_PERFORMED, CodeWhispererImportAdderListener)
6579

66-
// Run Proactive Code File Scan and disabling Auto File Scan for Builder Id Users.
67-
val actionManager = CodeWhispererExplorerActionManager.getInstance()
68-
actionManager.setMonthlyQuotaForCodeScansExceeded(false)
69-
if (isUserBuilderId(project)) {
70-
actionManager.setAutoCodeScan(project, false)
71-
} else {
72-
val scanManager = CodeWhispererCodeScanManager.getInstance(project)
73-
scanManager.setEditorListeners()
74-
scanManager.debouncedRunCodeScan(CodeWhispererConstants.CodeAnalysisScope.FILE)
75-
}
7680
runOnce = true
7781
}
7882

0 commit comments

Comments
 (0)