Skip to content

Commit 624d465

Browse files
authored
feat(amazonq): automatically scroll to fix section (#5198)
In code issue detail view, automatically scroll to code fix section after clicking "Generate Fix"
1 parent 4c0d3d0 commit 624d465

File tree

3 files changed

+16
-0
lines changed

3 files changed

+16
-0
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"type" : "feature",
3+
"description" : "/review: Code fix automatically scrolls into view after generation."
4+
}

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/CodeWhispererCodeScanIssueDetailsPanel.kt

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ internal class CodeWhispererCodeScanIssueDetailsPanel(
7171
)
7272
editorPane.revalidate()
7373
editorPane.repaint()
74+
runInEdt {
75+
editorPane.scrollToReference("fixLoadingSection")
76+
}
7477

7578
val codeFixResponse: AmazonQCodeFixSession.CodeFixResponse = amazonQCodeFixSession.runCodeFixWorkflow(issue)
7679
if (codeFixResponse.failureResponse != null) {
@@ -81,6 +84,9 @@ internal class CodeWhispererCodeScanIssueDetailsPanel(
8184
)
8285
revalidate()
8386
repaint()
87+
runInEdt {
88+
scrollToReference("fixFailureSection")
89+
}
8490
}
8591
} else {
8692
val isReferenceAllowed = CodeWhispererSettings.getInstance().isIncludeCodeWithReference()
@@ -115,6 +121,9 @@ internal class CodeWhispererCodeScanIssueDetailsPanel(
115121
)
116122
revalidate()
117123
repaint()
124+
runInEdt {
125+
scrollToReference("codeFixActions")
126+
}
118127
}
119128

120129
buttonPane.apply {

plugins/amazonq/codewhisperer/jetbrains-community/src/software/aws/toolkits/jetbrains/services/codewhisperer/codescan/utils/CodeWhispererCodeScanIssueUtils.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ fun getCodeScanIssueDetailsHtml(
137137
}
138138

139139
val fixLoadingSection = """
140+
<a name="fixLoadingSection"></a>
140141
<div align="center" bgcolor="#2b2b2b" style="margin: 20px;">
141142
<font size="7" color="#ffffff" face="Arial">
142143
&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;&nbsp;&nbsp;&nbsp;
@@ -145,6 +146,7 @@ fun getCodeScanIssueDetailsHtml(
145146
""".trimIndent()
146147

147148
val fixFailureSection = """
149+
<a name="fixFailureSection"></a>
148150
<div align="center" bgcolor="#2b2b2b" style="margin: 20px;">
149151
<font size="4" color="#e6e6e6" face="Arial">
150152
<br>Amazon Q failed to generate fix. Please try again<br>
@@ -192,6 +194,7 @@ private fun createSuggestedFixSection(issue: CodeWhispererCodeScanIssue, suggest
192194
|${it.code.trim()}
193195
|```
194196
|</div>
197+
|<a name="codeFixActions"></a>
195198
|<div>
196199
| <a href="amazonq://issue/openDiff-${issue.findingId}">
197200
| <font size="+1"><i>&#x2194;</i></font> <b>Open Diff</b>

0 commit comments

Comments
 (0)