# code-scanner-plugin **Repository Path**: Stevenlpf/code-scanner-plugin ## Basic Information - **Project Name**: code-scanner-plugin - **Description**: idea 扫描插件 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-03 - **Last Updated**: 2026-03-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Code Scanner - IDEA代码扫描插件 一个功能强大的代码扫描工具,包含Spring Boot后端服务和IntelliJ IDEA插件。 ## 项目结构 ``` code-scanner-plugin/ ├── pom.xml # 父POM文件 ├── code-scanner-server/ # Spring Boot后端服务 │ ├── pom.xml │ └── src/main/java/com/codescanner/ │ │ ├── CodeScannerApplication.java │ │ ├── controller/ │ │ │ └── CodeScannerController.java │ │ ├── service/ │ │ │ └── CodeScannerService.java │ │ ├── rule/ │ │ │ ├── ScanRule.java │ │ │ ├── HardcodedPasswordRule.java │ │ │ └── SQLInjectionRule.java │ │ ├── model/ │ │ │ └── ScanResult.java │ │ └── dto/ │ │ └── ScanRequest.java │ └── src/main/resources/ │ │ └── application.properties │ └── src/test/resources/ │ └── TestClass.java └── code-scanner-idea-plugin/ # IDEA插件 ├── build.gradle.kts ├── settings.gradle.kts └── src/main/java/com/codescanner/ │ ├── action/ │ │ ├── ScanProjectAction.java │ │ └── ScanFileAction.java │ ├── client/ │ │ └── CodeScannerClient.java │ ├── model/ │ │ └── ScanResult.java │ └── ui/ │ ├── CodeScannerPanel.java │ └── CodeScannerToolWindowFactory.java └── src/main/resources/META-INF/ └── plugin.xml ``` ## 技术栈 ### 后端服务 - Java 17 - Spring Boot 2.7.18 - Maven - Lombok ### IDEA插件 - Java - IntelliJ Platform SDK 2022.3.3 - Gradle - Gson - 兼容IDEA版本: 2022.3 ~ 2024.3 ## 快速开始 ### 1. 启动后端服务 ```bash cd code-scanner-server mvn spring-boot:run ``` 后端服务将在 http://localhost:8080 启动 ### 2. 构建IDEA插件 ```bash cd code-scanner-idea-plugin ./gradlew buildPlugin ``` 生成的插件位于 build/distributions/ 目录下 ### 3. 安装插件 1. 打开 IntelliJ IDEA 2. 进入 File → Settings → Plugins 3. 点击齿轮图标 → Install Plugin from Disk... 4. 选择生成的 .zip 文件 5. 重启IDEA ## 使用方法 ### 启动后端服务后,在IDEA中: 1. 确保后端服务正在运行 2. 打开Java项目 3. 使用以下方式之一启动扫描: - 主菜单: Code Scanner → Scan Project 或 Scan Current File - 右键点击项目/文件 → 选择相应的扫描选项 4. 扫描结果将显示在右侧的 Code Scanner 工具窗口中 ## API文档 ### 扫描代码 ``` POST /api/v1/scanner/scan Content-Type: application/json { "codeContent": "public class Test { ... }", "fileName": "Test.java", "language": "java" } ``` ### 获取可用规则 ``` GET /api/v1/scanner/rules ``` ### 健康检查 ``` GET /api/v1/scanner/health ``` ## 内置扫描规则 ### 1. 硬编码密码检测 (HardcodedPassword) - 检测代码中的硬编码密码 - 严重级别: WARNING ### 2. SQL注入检测 (SQLInjection) - 检测潜在的SQL注入漏洞 - 严重级别: ERROR ## 扩展开发 ### 添加新的扫描规则 在 code-scanner-server 中: 1. 创建新的类实现 ScanRule 接口 2. 添加 @Component 注解 3. 实现 scan() 方法 4. 重启后端服务 新规则将自动被系统发现和使用。 ## 测试 项目包含一个测试文件 TestClass.java, 可以用来测试扫描功能。 ## 项目特性 - 支持扫描单个文件 - 支持扫描整个项目 - 可扩展的规则系统 - 友好的用户界面 - 兼容多个IDEA版本