1
1
import { CodeReviewResult , CodeReviewIssue } from "../ai/types" ;
2
- import * as vscode from "vscode" ;
2
+ import * as vscode from "vscode" ;
3
3
import { LocalizationManager } from "../utils/LocalizationManager" ;
4
4
5
5
/**
6
6
* 代码审查报告生成器,将代码审查结果转换为格式化的 Markdown 文档
7
7
*/
8
8
export class CodeReviewReportGenerator {
9
9
private static readonly locManager = LocalizationManager . getInstance ( ) ;
10
-
10
+
11
11
/**
12
12
* 不同严重程度对应的 emoji 图标
13
13
* @private
14
14
*/
15
15
private static readonly severityEmoji = {
16
- NOTE : "💡" , // 提示
17
- WARNING : "⚠️" , // 警告
18
- ERROR : "🚨" , // 错误
16
+ NOTE : "💡" , // 提示
17
+ WARNING : "⚠️" , // 警告
18
+ ERROR : "🚨" , // 错误
19
19
} ;
20
20
21
21
/**
@@ -59,8 +59,12 @@ export class CodeReviewReportGenerator {
59
59
* @returns {string } Markdown 格式的报告头部
60
60
*/
61
61
private static generateHeader ( summary : string ) : string {
62
- const title = this . locManager . getMessage ( "codeReview.report.title" ) ;
63
- const summaryLabel = this . locManager . getMessage ( "codeReview.report.summary" ) ;
62
+ const title = LocalizationManager . getInstance ( ) . getMessage (
63
+ "codeReview.report.title"
64
+ ) ;
65
+ const summaryLabel = LocalizationManager . getInstance ( ) . getMessage (
66
+ "codeReview.report.summary"
67
+ ) ;
64
68
return `# ${ title } \n\n## ${ summaryLabel } \n\n${ summary } \n\n` ;
65
69
}
66
70
@@ -73,7 +77,9 @@ export class CodeReviewReportGenerator {
73
77
private static generateDetailedFindings (
74
78
sections : Record < string , CodeReviewIssue [ ] >
75
79
) : string {
76
- const findings = this . locManager . getMessage ( "codeReview.report.findings" ) ;
80
+ const findings = LocalizationManager . getInstance ( ) . getMessage (
81
+ "codeReview.report.findings"
82
+ ) ;
77
83
let markdown = `## ${ findings } \n\n` ;
78
84
79
85
// 遍历每个文件的问题
@@ -99,10 +105,14 @@ export class CodeReviewReportGenerator {
99
105
let section = `#### ${ this . severityEmoji [ issue . severity ] } ${
100
106
issue . severity
101
107
} : Line ${ issue . startLine } ${ issue . endLine ? `-${ issue . endLine } ` : "" } \n\n`;
102
-
108
+
103
109
// 添加问题描述和建议
104
- section += `**${ this . locManager . getMessage ( "codeReview.issue.label" ) } ** ${ issue . description } \n\n` ;
105
- section += `**${ this . locManager . getMessage ( "codeReview.suggestion.label" ) } ** ${ issue . suggestion } \n\n` ;
110
+ section += `**${ LocalizationManager . getInstance ( ) . getMessage (
111
+ "codeReview.issue.label"
112
+ ) } ** ${ issue . description } \n\n`;
113
+ section += `**${ LocalizationManager . getInstance ( ) . getMessage (
114
+ "codeReview.suggestion.label"
115
+ ) } ** ${ issue . suggestion } \n\n`;
106
116
107
117
// 如果有代码示例,添加代码块
108
118
if ( issue . code ) {
@@ -111,7 +121,9 @@ export class CodeReviewReportGenerator {
111
121
112
122
// 如果有相关文档,添加链接
113
123
if ( issue . documentation ) {
114
- const docLabel = this . locManager . getMessage ( "codeReview.documentation.label" ) ;
124
+ const docLabel = LocalizationManager . getInstance ( ) . getMessage (
125
+ "codeReview.documentation.label"
126
+ ) ;
115
127
section += `📚 [${ docLabel } ](${ issue . documentation } )\n\n` ;
116
128
}
117
129
0 commit comments