shblue21/vscode-spotbugs
GitHub: shblue21/vscode-spotbugs
一款集成在 VS Code 中的 SpotBugs 插件,用于在本地快速检测 Java 代码中的 bug 和安全缺陷。
Stars: 6 | Forks: 0
# VS Code 的 SpotBugs
使用 SpotBugs 直接在 VS Code 中分析 Java 代码。在专用树视图中查看结果,跳转到问题所在行,并通过 VS Code 诊断功能跟踪问题。

## 功能
- 分析单个文件或整个工作区(Maven/Gradle 项目)
- 按类别和模式对结果进行分组,并显示严重性图标
- 通过匹配的诊断/波浪线导航到源代码中的缺陷位置
- 将过滤后的结果导出为 SARIF 以供代码扫描工具使用
## 要求
- Java 11 或更高版本(JDK)
- VS Code 扩展:"Language Support for Java by Red Hat"(redhat.java)
## 隐私/本地分析
SpotBugs 分析在您的 VS Code 工作区中本地运行。此扩展不会将源文件、编译后的类、过滤器文件、SARIF 输出或 SpotBugs 结果发送到托管分析服务。
规则文档操作可能会打开外部 SpotBugs 文档链接。基本的扩展操作遥测遵循 VS Code 遥测设置。
## 开始使用
1. 在 VS Code 中打开 Java 项目文件夹
2. 运行命令:
- "SpotBugs: Analyze this workspace"(`spotbugs.runWorkspace`)
- "SpotBugs: Analyze File/Folder"(上下文菜单,`spotbugs.run`)
3. 在 "SpotBugs" 视图(活动栏)中查看结果
## 命令
- `SpotBugs: Analyze File/Folder` — 分析所选文件或文件夹
- `SpotBugs: Analyze this workspace` — 构建然后分析工作区中的所有项目
- `SpotBugs: Export SpotBugs Findings (SARIF)` — 将当前结果保存为 SARIF 报告
- `SpotBugs: Reset SpotBugs Results` — 清除 SpotBugs 视图和诊断信息
## 设置
### 分析
- `spotbugs.analysis.effort`:SpotBugs 分析力度(`min`、`default`、`max`)。默认值:`default`。
- `spotbugs.analysis.priorityThreshold`:报告排名小于或等于此值的缺陷(1 = 最严重,20 = 最不严重)。默认值:`9`。
- `spotbugs.analysis.extraAuxClasspaths`:额外的 SpotBugs aux 类路径条目,追加在 Java LS 运行时类路径条目之后。支持绝对路径和工作区相对路径的 jar/目录路径。
源目标解析与 aux 类路径配置保持独立。SpotBugs 使用 Java LS 运行时类路径以及任何 `extraAuxClasspaths` 条目进行 aux 分析,只有当这两个来源都没有提供任何条目时,才回退到运行器的系统类路径。
### 过滤器
- `spotbugs.filters.includePaths`:SpotBugs XML 包含过滤器路径(`-include`)。支持绝对路径和工作区相对路径。
- `spotbugs.filters.excludePaths`:SpotBugs XML 排除过滤器路径(`-exclude`)。支持绝对路径和工作区相对路径。
- `spotbugs.filters.excludeBaselineBugsPaths`:SpotBugs XML 基线缺陷集合路径(`-excludeBugs`)。支持绝对路径和工作区相对路径。
如果任何配置的过滤器文件无效,分析会立即停止,并显示带错误代码的错误信息。
- `CFG_FILTER_NOT_FOUND`
- `CFG_FILTER_NOT_FILE`
- `CFG_FILTER_UNREADABLE`
- `CFG_FILTER_XML_INVALID`
- `CFG_BASELINE_XML_INVALID`标签:bug检测工具, Gradle项目, IDE插件, Java开发工具, Java静态分析, JS文件枚举, Maven项目, SARIF导出, SOC Prime, Subfinder, VS Code扩展, 代码审查, 代码诊断, 代码质量检测, 后台面板检测, 安全扫描, 开发工具, 时序注入, 自动化攻击, 错误基检测, 静态代码分析