
从持续集成中运行IntelliJ检查
从持续集成中运行IntelliJ检查
IntelliJ IDEA提供的功能可以帮助改善我们的编码,在IDE内以Intentions的形式编写代码时。Intentions可以用于批量检查整个源代码的模式,甚至扩展到命令行分析或添加到持续集成。这篇文章涵盖了开箱即用的IntelliJ功能和在Sensei 中创建的自定义Intentions的扩展。
英特利杰检查
IntelliJ的检查功能推动了许多错误的显示,这些错误在编码时在IDE中被动态报告,如
- 检测可被转换为接口的抽象类。
- 识别多余的类域,这些类域可以是本地的。
- 关于使用已废弃方法的警告。
- 等。
这些检查会突出显示在IDE中匹配的代码,作为意图行动,通常有一个相关的快速修复。

当代码与检查相匹配时,IDE的实时高亮显示可以帮助我们动态地改进我们的编码。在确定了代码中的问题后,使用IntelliJ Intention Actions来快速修复代码可以强化更好的模式。
检查简介
检查可以从IDE中以批处理方式运行,也可以从命令行或持续集成过程中运行。
将IntelliJ检查作为一个批次工作的关键是通过使用检查配置文件。
IntelliJ有两个默认的检查配置文件:一个存储在项目中,另一个存储在IDE中。
可以创建新的检查配置文件,以配置特定的插件或使用情况,例如:。
- 只运行Checkstyle实时扫描
- 运行一套特定的Sensei 规则
- 运行HTML检查
可以通过 IntelliJ 首选项启用或禁用配置文件中的检查。首选项对话框也是了解可用检查范围的一个简单方法。

工具 "图标允许你复制一个配置文件,并创建一个新的配置文件来收集一组特定的规则。

在IDE中运行检查配置文件
可以在IDE中使用 "Analyze\Inspect Code... "菜单来运行检查配置文件。

分析功能允许你控制检查的范围,例如,整个项目,包括或不包括测试源,或针对特定的文件集运行。

你也可以从这里管理检查配置文件,创建或配置一个特定的配置文件。
在 "指定检查范围 "对话框中点击[OK],将触发IntelliJ在定义的范围内运行配置文件中所有选定的检查。
IntelliJ将在 "检查结果 "标签中报告运行检查的结果。

来自 的插件允许你创建自定义的代码匹配配方。 Sensei来自Secure Code Warrior 的插件允许你创建自定义的代码匹配配方。Sensei 与 IntelliJ 紧密结合,使这些自定义的配方像 IntelliJ 意图动作一样自然地使用。这意味着它们被作为检查加载到IntelliJ中,并可以使用检查配置文件进行分组、启用和禁用。创建一个自定义检查配置文件,然后使用分析检查代码功能,是在整个项目中批量运行Sensei 配方的推荐方式。
从命令行运行检查配置文件
IntelliJ具有从命令行运行检查的能力,正如JetBrains所记录的。
- https://www.jetbrains.com/help/idea/working-with-the-ide-features-from-command-line.html
我主要使用macOS,可以通过命令行运行IntelliJ的单个实例。
打开 -na "IntelliJ IDEA CE.app"
为了支持更容易的执行,我把这个添加到一个shell命令脚本中。
vi /usr/local/bin/idea
脚本的内容来自IntelliJ提供的官方文档。
#!/bin/sh
open -na "IntelliJ IDEA CE.app" --args "$@"
然后我制作了这个可执行文件,以使我能够简化命令行检查过程。
chmod 755 /usr/local/bin/idea
intellij官方文档对检查命令的一般形式描述如下。
idea inspect <project> <inspection-profile> <output></output></inspection-profile></project>
[<options>]</options>
在实践中,我完全限定了路径,不需要任何选项。
idea inspect /Users/user/GitHub/sensei-blog-examples /Users/user/GitHub/sensei-blog-examples/.ide/inspectionProfiles/senseiprofile.xml /Users/user/GitHub/sensei-blog-examples/scan-results
这将运行我添加到`senseiprofile`的所有检查,并在`scan-results`文件夹中报告结果。

查看检查结果
我们可以从持续集成中报告这些结果,我们将在后面看到。
我们还可以使用 "Analyse\View Offline Inspection Results... "功能在IntelliJ本身中查看它们。

这将把结果加载到 "检查结果 "标签。

这在JetBrains网站上有正式记录。
- https://www.jetbrains.com/help/idea/command-line-code-inspector.html#inspection-results
在代码审查过程中,如果命令行的执行被纳入持续集成过程,并且审查人员想要检查任何检查结果项的完整源码上下文,这可能会被使用。
持续集成中的检查配置文件
当把命令行检查添加到持续集成中时,我们最好希望自动生成一份报告,有许多选项供我们选择。
TeamCity为持续集成中的检查配置文件提供开箱即用的支持。
-https://www.jetbrains.com/help/teamcity/inspections.html
Jenkins Warnings NG插件支持来自IntelliJ Inspections的命令行输出作为报告格式之一。
-https://github.com/jenkinsci/warnings-ng-plugin
-https://github.com/jenkinsci/warnings-ng-plugin/blob/master/SUPPORTED-FORMATS.md
像 "idea CLI Inspector "这样的社区项目存在,以支持在其他CI工具中使用检查配置文件,即
-https://github.com/bentolor/idea-cli-inspector
随着JetBrains Qodana项目的推出,CI流程中的检查配置文件的前景更加光明。Qodana项目是IntelliJ的无头版本,具有官方的Github行动和Docker镜像。
-https://github.com/JetBrains/Qodana
Qodana目前处于测试阶段,但Sensei 团队正在监控它,以便它成为官方支持的平台,作为持续集成的一部分运行Sensei 规则。
摘要
意图行动使我们能够强化编码模式,当我们在编码过程中出现错误时,可以在IDE中快速修复。
检查配置文件允许我们将这些信息收集到配置文件中,作为分析和检查代码的动作批量运行。如果我们遇到一个模式,并想仔细检查我们的代码中是否有遗漏的地方,这可能很有用。
检查配置文件可以从命令行中运行,甚至可以纳入持续集成流程,支持 "信任,但要验证 "的模式,并抓住任何意外的疏漏。
以上都是建立在IntelliJ功能中的,JetBrains正在通过引入Qodana来改进他们的持续集成过程。
Sensei 配方被加载到IntelliJ中,作为原生的Intention Actions,并被收集到Inspection Profiles中,以支持通过Inspection Code进行批量检查,以及由JetBrains官方命令行执行功能提供的持续集成支持。
---
你可以使用 "Preferences \ Plugins"(Mac)或 "Settings \ Plugins"(Windows)从IntelliJ内部安装Sensei ,然后只要搜索 "sensei secure code"。
如果你想尝试在IntelliJ中从命令行运行一个项目,那么在这篇文章中使用的项目可以在Secure Code Warrior GitHub账户中的`sensei-blog-examples`仓库中找到。给读者的一个练习是创建一个配置文件,只运行Sensei 规则。试一试吧。
https://github.com/securecodewarrior/sensei-blog-examples
Alan Richardson拥有超过20年的专业IT经验,他曾作为一名开发人员,在测试层次的各个层面工作,从测试员到测试主管。在Secure Code Warrior ,他是开发者关系主管,直接与团队合作,以改善高质量安全代码的开发。Alan是四本书的作者,包括 "Dear Evil Tester "和 "Java For Testers"。艾伦还创建了在线培训courses ,帮助人们学习技术网络测试和用Java编写的Selenium WebDriver。Alan在SeleniumSimplified.com、EvilTester.com、JavaForTesters.com和CompendiumDev.co.uk上发布他的写作和培训视频。

Secure Code Warrior 我们在这里为您的组织提供服务,帮助您在整个软件开发生命周期中确保代码安全,并创造一种将网络安全放在首位的文化。无论您是应用安全经理、开发人员、CISO或任何涉及安全的人,我们都可以帮助您的组织减少与不安全代码有关的风险。
预定一个演示Alan Richardson拥有超过20年的专业IT经验,他曾作为一名开发人员,在测试层次的各个层面工作,从测试员到测试主管。在Secure Code Warrior ,他是开发者关系主管,直接与团队合作,以改善高质量安全代码的开发。Alan是四本书的作者,包括 "Dear Evil Tester "和 "Java For Testers"。艾伦还创建了在线培训courses ,帮助人们学习技术网络测试和用Java编写的Selenium WebDriver。Alan在SeleniumSimplified.com、EvilTester.com、JavaForTesters.com和CompendiumDev.co.uk上发布他的写作和培训视频。
从持续集成中运行IntelliJ检查
IntelliJ IDEA提供的功能可以帮助改善我们的编码,在IDE内以Intentions的形式编写代码时。Intentions可以用于批量检查整个源代码的模式,甚至扩展到命令行分析或添加到持续集成。这篇文章涵盖了开箱即用的IntelliJ功能和在Sensei 中创建的自定义Intentions的扩展。
英特利杰检查
IntelliJ的检查功能推动了许多错误的显示,这些错误在编码时在IDE中被动态报告,如
- 检测可被转换为接口的抽象类。
- 识别多余的类域,这些类域可以是本地的。
- 关于使用已废弃方法的警告。
- 等。
这些检查会突出显示在IDE中匹配的代码,作为意图行动,通常有一个相关的快速修复。

当代码与检查相匹配时,IDE的实时高亮显示可以帮助我们动态地改进我们的编码。在确定了代码中的问题后,使用IntelliJ Intention Actions来快速修复代码可以强化更好的模式。
检查简介
检查可以从IDE中以批处理方式运行,也可以从命令行或持续集成过程中运行。
将IntelliJ检查作为一个批次工作的关键是通过使用检查配置文件。
IntelliJ有两个默认的检查配置文件:一个存储在项目中,另一个存储在IDE中。
可以创建新的检查配置文件,以配置特定的插件或使用情况,例如:。
- 只运行Checkstyle实时扫描
- 运行一套特定的Sensei 规则
- 运行HTML检查
可以通过 IntelliJ 首选项启用或禁用配置文件中的检查。首选项对话框也是了解可用检查范围的一个简单方法。

工具 "图标允许你复制一个配置文件,并创建一个新的配置文件来收集一组特定的规则。

在IDE中运行检查配置文件
可以在IDE中使用 "Analyze\Inspect Code... "菜单来运行检查配置文件。

分析功能允许你控制检查的范围,例如,整个项目,包括或不包括测试源,或针对特定的文件集运行。

你也可以从这里管理检查配置文件,创建或配置一个特定的配置文件。
在 "指定检查范围 "对话框中点击[OK],将触发IntelliJ在定义的范围内运行配置文件中所有选定的检查。
IntelliJ将在 "检查结果 "标签中报告运行检查的结果。

来自 的插件允许你创建自定义的代码匹配配方。 Sensei来自Secure Code Warrior 的插件允许你创建自定义的代码匹配配方。Sensei 与 IntelliJ 紧密结合,使这些自定义的配方像 IntelliJ 意图动作一样自然地使用。这意味着它们被作为检查加载到IntelliJ中,并可以使用检查配置文件进行分组、启用和禁用。创建一个自定义检查配置文件,然后使用分析检查代码功能,是在整个项目中批量运行Sensei 配方的推荐方式。
从命令行运行检查配置文件
IntelliJ具有从命令行运行检查的能力,正如JetBrains所记录的。
- https://www.jetbrains.com/help/idea/working-with-the-ide-features-from-command-line.html
我主要使用macOS,可以通过命令行运行IntelliJ的单个实例。
打开 -na "IntelliJ IDEA CE.app"
为了支持更容易的执行,我把这个添加到一个shell命令脚本中。
vi /usr/local/bin/idea
脚本的内容来自IntelliJ提供的官方文档。
#!/bin/sh
open -na "IntelliJ IDEA CE.app" --args "$@"
然后我制作了这个可执行文件,以使我能够简化命令行检查过程。
chmod 755 /usr/local/bin/idea
intellij官方文档对检查命令的一般形式描述如下。
idea inspect <project> <inspection-profile> <output></output></inspection-profile></project>
[<options>]</options>
在实践中,我完全限定了路径,不需要任何选项。
idea inspect /Users/user/GitHub/sensei-blog-examples /Users/user/GitHub/sensei-blog-examples/.ide/inspectionProfiles/senseiprofile.xml /Users/user/GitHub/sensei-blog-examples/scan-results
这将运行我添加到`senseiprofile`的所有检查,并在`scan-results`文件夹中报告结果。

查看检查结果
我们可以从持续集成中报告这些结果,我们将在后面看到。
我们还可以使用 "Analyse\View Offline Inspection Results... "功能在IntelliJ本身中查看它们。

这将把结果加载到 "检查结果 "标签。

这在JetBrains网站上有正式记录。
- https://www.jetbrains.com/help/idea/command-line-code-inspector.html#inspection-results
在代码审查过程中,如果命令行的执行被纳入持续集成过程,并且审查人员想要检查任何检查结果项的完整源码上下文,这可能会被使用。
持续集成中的检查配置文件
当把命令行检查添加到持续集成中时,我们最好希望自动生成一份报告,有许多选项供我们选择。
TeamCity为持续集成中的检查配置文件提供开箱即用的支持。
-https://www.jetbrains.com/help/teamcity/inspections.html
Jenkins Warnings NG插件支持来自IntelliJ Inspections的命令行输出作为报告格式之一。
-https://github.com/jenkinsci/warnings-ng-plugin
-https://github.com/jenkinsci/warnings-ng-plugin/blob/master/SUPPORTED-FORMATS.md
像 "idea CLI Inspector "这样的社区项目存在,以支持在其他CI工具中使用检查配置文件,即
-https://github.com/bentolor/idea-cli-inspector
随着JetBrains Qodana项目的推出,CI流程中的检查配置文件的前景更加光明。Qodana项目是IntelliJ的无头版本,具有官方的Github行动和Docker镜像。
-https://github.com/JetBrains/Qodana
Qodana目前处于测试阶段,但Sensei 团队正在监控它,以便它成为官方支持的平台,作为持续集成的一部分运行Sensei 规则。
摘要
意图行动使我们能够强化编码模式,当我们在编码过程中出现错误时,可以在IDE中快速修复。
检查配置文件允许我们将这些信息收集到配置文件中,作为分析和检查代码的动作批量运行。如果我们遇到一个模式,并想仔细检查我们的代码中是否有遗漏的地方,这可能很有用。
检查配置文件可以从命令行中运行,甚至可以纳入持续集成流程,支持 "信任,但要验证 "的模式,并抓住任何意外的疏漏。
以上都是建立在IntelliJ功能中的,JetBrains正在通过引入Qodana来改进他们的持续集成过程。
Sensei 配方被加载到IntelliJ中,作为原生的Intention Actions,并被收集到Inspection Profiles中,以支持通过Inspection Code进行批量检查,以及由JetBrains官方命令行执行功能提供的持续集成支持。
---
你可以使用 "Preferences \ Plugins"(Mac)或 "Settings \ Plugins"(Windows)从IntelliJ内部安装Sensei ,然后只要搜索 "sensei secure code"。
如果你想尝试在IntelliJ中从命令行运行一个项目,那么在这篇文章中使用的项目可以在Secure Code Warrior GitHub账户中的`sensei-blog-examples`仓库中找到。给读者的一个练习是创建一个配置文件,只运行Sensei 规则。试一试吧。
https://github.com/securecodewarrior/sensei-blog-examples
从持续集成中运行IntelliJ检查
IntelliJ IDEA提供的功能可以帮助改善我们的编码,在IDE内以Intentions的形式编写代码时。Intentions可以用于批量检查整个源代码的模式,甚至扩展到命令行分析或添加到持续集成。这篇文章涵盖了开箱即用的IntelliJ功能和在Sensei 中创建的自定义Intentions的扩展。
英特利杰检查
IntelliJ的检查功能推动了许多错误的显示,这些错误在编码时在IDE中被动态报告,如
- 检测可被转换为接口的抽象类。
- 识别多余的类域,这些类域可以是本地的。
- 关于使用已废弃方法的警告。
- 等。
这些检查会突出显示在IDE中匹配的代码,作为意图行动,通常有一个相关的快速修复。

当代码与检查相匹配时,IDE的实时高亮显示可以帮助我们动态地改进我们的编码。在确定了代码中的问题后,使用IntelliJ Intention Actions来快速修复代码可以强化更好的模式。
检查简介
检查可以从IDE中以批处理方式运行,也可以从命令行或持续集成过程中运行。
将IntelliJ检查作为一个批次工作的关键是通过使用检查配置文件。
IntelliJ有两个默认的检查配置文件:一个存储在项目中,另一个存储在IDE中。
可以创建新的检查配置文件,以配置特定的插件或使用情况,例如:。
- 只运行Checkstyle实时扫描
- 运行一套特定的Sensei 规则
- 运行HTML检查
可以通过 IntelliJ 首选项启用或禁用配置文件中的检查。首选项对话框也是了解可用检查范围的一个简单方法。

工具 "图标允许你复制一个配置文件,并创建一个新的配置文件来收集一组特定的规则。

在IDE中运行检查配置文件
可以在IDE中使用 "Analyze\Inspect Code... "菜单来运行检查配置文件。

分析功能允许你控制检查的范围,例如,整个项目,包括或不包括测试源,或针对特定的文件集运行。

你也可以从这里管理检查配置文件,创建或配置一个特定的配置文件。
在 "指定检查范围 "对话框中点击[OK],将触发IntelliJ在定义的范围内运行配置文件中所有选定的检查。
IntelliJ将在 "检查结果 "标签中报告运行检查的结果。

来自 的插件允许你创建自定义的代码匹配配方。 Sensei来自Secure Code Warrior 的插件允许你创建自定义的代码匹配配方。Sensei 与 IntelliJ 紧密结合,使这些自定义的配方像 IntelliJ 意图动作一样自然地使用。这意味着它们被作为检查加载到IntelliJ中,并可以使用检查配置文件进行分组、启用和禁用。创建一个自定义检查配置文件,然后使用分析检查代码功能,是在整个项目中批量运行Sensei 配方的推荐方式。
从命令行运行检查配置文件
IntelliJ具有从命令行运行检查的能力,正如JetBrains所记录的。
- https://www.jetbrains.com/help/idea/working-with-the-ide-features-from-command-line.html
我主要使用macOS,可以通过命令行运行IntelliJ的单个实例。
打开 -na "IntelliJ IDEA CE.app"
为了支持更容易的执行,我把这个添加到一个shell命令脚本中。
vi /usr/local/bin/idea
脚本的内容来自IntelliJ提供的官方文档。
#!/bin/sh
open -na "IntelliJ IDEA CE.app" --args "$@"
然后我制作了这个可执行文件,以使我能够简化命令行检查过程。
chmod 755 /usr/local/bin/idea
intellij官方文档对检查命令的一般形式描述如下。
idea inspect <project> <inspection-profile> <output></output></inspection-profile></project>
[<options>]</options>
在实践中,我完全限定了路径,不需要任何选项。
idea inspect /Users/user/GitHub/sensei-blog-examples /Users/user/GitHub/sensei-blog-examples/.ide/inspectionProfiles/senseiprofile.xml /Users/user/GitHub/sensei-blog-examples/scan-results
这将运行我添加到`senseiprofile`的所有检查,并在`scan-results`文件夹中报告结果。

查看检查结果
我们可以从持续集成中报告这些结果,我们将在后面看到。
我们还可以使用 "Analyse\View Offline Inspection Results... "功能在IntelliJ本身中查看它们。

这将把结果加载到 "检查结果 "标签。

这在JetBrains网站上有正式记录。
- https://www.jetbrains.com/help/idea/command-line-code-inspector.html#inspection-results
在代码审查过程中,如果命令行的执行被纳入持续集成过程,并且审查人员想要检查任何检查结果项的完整源码上下文,这可能会被使用。
持续集成中的检查配置文件
当把命令行检查添加到持续集成中时,我们最好希望自动生成一份报告,有许多选项供我们选择。
TeamCity为持续集成中的检查配置文件提供开箱即用的支持。
-https://www.jetbrains.com/help/teamcity/inspections.html
Jenkins Warnings NG插件支持来自IntelliJ Inspections的命令行输出作为报告格式之一。
-https://github.com/jenkinsci/warnings-ng-plugin
-https://github.com/jenkinsci/warnings-ng-plugin/blob/master/SUPPORTED-FORMATS.md
像 "idea CLI Inspector "这样的社区项目存在,以支持在其他CI工具中使用检查配置文件,即
-https://github.com/bentolor/idea-cli-inspector
随着JetBrains Qodana项目的推出,CI流程中的检查配置文件的前景更加光明。Qodana项目是IntelliJ的无头版本,具有官方的Github行动和Docker镜像。
-https://github.com/JetBrains/Qodana
Qodana目前处于测试阶段,但Sensei 团队正在监控它,以便它成为官方支持的平台,作为持续集成的一部分运行Sensei 规则。
摘要
意图行动使我们能够强化编码模式,当我们在编码过程中出现错误时,可以在IDE中快速修复。
检查配置文件允许我们将这些信息收集到配置文件中,作为分析和检查代码的动作批量运行。如果我们遇到一个模式,并想仔细检查我们的代码中是否有遗漏的地方,这可能很有用。
检查配置文件可以从命令行中运行,甚至可以纳入持续集成流程,支持 "信任,但要验证 "的模式,并抓住任何意外的疏漏。
以上都是建立在IntelliJ功能中的,JetBrains正在通过引入Qodana来改进他们的持续集成过程。
Sensei 配方被加载到IntelliJ中,作为原生的Intention Actions,并被收集到Inspection Profiles中,以支持通过Inspection Code进行批量检查,以及由JetBrains官方命令行执行功能提供的持续集成支持。
---
你可以使用 "Preferences \ Plugins"(Mac)或 "Settings \ Plugins"(Windows)从IntelliJ内部安装Sensei ,然后只要搜索 "sensei secure code"。
如果你想尝试在IntelliJ中从命令行运行一个项目,那么在这篇文章中使用的项目可以在Secure Code Warrior GitHub账户中的`sensei-blog-examples`仓库中找到。给读者的一个练习是创建一个配置文件,只运行Sensei 规则。试一试吧。
https://github.com/securecodewarrior/sensei-blog-examples

点击下面的链接,下载本资料的 PDF 文件。
Secure Code Warrior 我们在这里为您的组织提供服务,帮助您在整个软件开发生命周期中确保代码安全,并创造一种将网络安全放在首位的文化。无论您是应用安全经理、开发人员、CISO或任何涉及安全的人,我们都可以帮助您的组织减少与不安全代码有关的风险。
查看报告预定一个演示Alan Richardson拥有超过20年的专业IT经验,他曾作为一名开发人员,在测试层次的各个层面工作,从测试员到测试主管。在Secure Code Warrior ,他是开发者关系主管,直接与团队合作,以改善高质量安全代码的开发。Alan是四本书的作者,包括 "Dear Evil Tester "和 "Java For Testers"。艾伦还创建了在线培训courses ,帮助人们学习技术网络测试和用Java编写的Selenium WebDriver。Alan在SeleniumSimplified.com、EvilTester.com、JavaForTesters.com和CompendiumDev.co.uk上发布他的写作和培训视频。
从持续集成中运行IntelliJ检查
IntelliJ IDEA提供的功能可以帮助改善我们的编码,在IDE内以Intentions的形式编写代码时。Intentions可以用于批量检查整个源代码的模式,甚至扩展到命令行分析或添加到持续集成。这篇文章涵盖了开箱即用的IntelliJ功能和在Sensei 中创建的自定义Intentions的扩展。
英特利杰检查
IntelliJ的检查功能推动了许多错误的显示,这些错误在编码时在IDE中被动态报告,如
- 检测可被转换为接口的抽象类。
- 识别多余的类域,这些类域可以是本地的。
- 关于使用已废弃方法的警告。
- 等。
这些检查会突出显示在IDE中匹配的代码,作为意图行动,通常有一个相关的快速修复。

当代码与检查相匹配时,IDE的实时高亮显示可以帮助我们动态地改进我们的编码。在确定了代码中的问题后,使用IntelliJ Intention Actions来快速修复代码可以强化更好的模式。
检查简介
检查可以从IDE中以批处理方式运行,也可以从命令行或持续集成过程中运行。
将IntelliJ检查作为一个批次工作的关键是通过使用检查配置文件。
IntelliJ有两个默认的检查配置文件:一个存储在项目中,另一个存储在IDE中。
可以创建新的检查配置文件,以配置特定的插件或使用情况,例如:。
- 只运行Checkstyle实时扫描
- 运行一套特定的Sensei 规则
- 运行HTML检查
可以通过 IntelliJ 首选项启用或禁用配置文件中的检查。首选项对话框也是了解可用检查范围的一个简单方法。

工具 "图标允许你复制一个配置文件,并创建一个新的配置文件来收集一组特定的规则。

在IDE中运行检查配置文件
可以在IDE中使用 "Analyze\Inspect Code... "菜单来运行检查配置文件。

分析功能允许你控制检查的范围,例如,整个项目,包括或不包括测试源,或针对特定的文件集运行。

你也可以从这里管理检查配置文件,创建或配置一个特定的配置文件。
在 "指定检查范围 "对话框中点击[OK],将触发IntelliJ在定义的范围内运行配置文件中所有选定的检查。
IntelliJ将在 "检查结果 "标签中报告运行检查的结果。

来自 的插件允许你创建自定义的代码匹配配方。 Sensei来自Secure Code Warrior 的插件允许你创建自定义的代码匹配配方。Sensei 与 IntelliJ 紧密结合,使这些自定义的配方像 IntelliJ 意图动作一样自然地使用。这意味着它们被作为检查加载到IntelliJ中,并可以使用检查配置文件进行分组、启用和禁用。创建一个自定义检查配置文件,然后使用分析检查代码功能,是在整个项目中批量运行Sensei 配方的推荐方式。
从命令行运行检查配置文件
IntelliJ具有从命令行运行检查的能力,正如JetBrains所记录的。
- https://www.jetbrains.com/help/idea/working-with-the-ide-features-from-command-line.html
我主要使用macOS,可以通过命令行运行IntelliJ的单个实例。
打开 -na "IntelliJ IDEA CE.app"
为了支持更容易的执行,我把这个添加到一个shell命令脚本中。
vi /usr/local/bin/idea
脚本的内容来自IntelliJ提供的官方文档。
#!/bin/sh
open -na "IntelliJ IDEA CE.app" --args "$@"
然后我制作了这个可执行文件,以使我能够简化命令行检查过程。
chmod 755 /usr/local/bin/idea
intellij官方文档对检查命令的一般形式描述如下。
idea inspect <project> <inspection-profile> <output></output></inspection-profile></project>
[<options>]</options>
在实践中,我完全限定了路径,不需要任何选项。
idea inspect /Users/user/GitHub/sensei-blog-examples /Users/user/GitHub/sensei-blog-examples/.ide/inspectionProfiles/senseiprofile.xml /Users/user/GitHub/sensei-blog-examples/scan-results
这将运行我添加到`senseiprofile`的所有检查,并在`scan-results`文件夹中报告结果。

查看检查结果
我们可以从持续集成中报告这些结果,我们将在后面看到。
我们还可以使用 "Analyse\View Offline Inspection Results... "功能在IntelliJ本身中查看它们。

这将把结果加载到 "检查结果 "标签。

这在JetBrains网站上有正式记录。
- https://www.jetbrains.com/help/idea/command-line-code-inspector.html#inspection-results
在代码审查过程中,如果命令行的执行被纳入持续集成过程,并且审查人员想要检查任何检查结果项的完整源码上下文,这可能会被使用。
持续集成中的检查配置文件
当把命令行检查添加到持续集成中时,我们最好希望自动生成一份报告,有许多选项供我们选择。
TeamCity为持续集成中的检查配置文件提供开箱即用的支持。
-https://www.jetbrains.com/help/teamcity/inspections.html
Jenkins Warnings NG插件支持来自IntelliJ Inspections的命令行输出作为报告格式之一。
-https://github.com/jenkinsci/warnings-ng-plugin
-https://github.com/jenkinsci/warnings-ng-plugin/blob/master/SUPPORTED-FORMATS.md
像 "idea CLI Inspector "这样的社区项目存在,以支持在其他CI工具中使用检查配置文件,即
-https://github.com/bentolor/idea-cli-inspector
随着JetBrains Qodana项目的推出,CI流程中的检查配置文件的前景更加光明。Qodana项目是IntelliJ的无头版本,具有官方的Github行动和Docker镜像。
-https://github.com/JetBrains/Qodana
Qodana目前处于测试阶段,但Sensei 团队正在监控它,以便它成为官方支持的平台,作为持续集成的一部分运行Sensei 规则。
摘要
意图行动使我们能够强化编码模式,当我们在编码过程中出现错误时,可以在IDE中快速修复。
检查配置文件允许我们将这些信息收集到配置文件中,作为分析和检查代码的动作批量运行。如果我们遇到一个模式,并想仔细检查我们的代码中是否有遗漏的地方,这可能很有用。
检查配置文件可以从命令行中运行,甚至可以纳入持续集成流程,支持 "信任,但要验证 "的模式,并抓住任何意外的疏漏。
以上都是建立在IntelliJ功能中的,JetBrains正在通过引入Qodana来改进他们的持续集成过程。
Sensei 配方被加载到IntelliJ中,作为原生的Intention Actions,并被收集到Inspection Profiles中,以支持通过Inspection Code进行批量检查,以及由JetBrains官方命令行执行功能提供的持续集成支持。
---
你可以使用 "Preferences \ Plugins"(Mac)或 "Settings \ Plugins"(Windows)从IntelliJ内部安装Sensei ,然后只要搜索 "sensei secure code"。
如果你想尝试在IntelliJ中从命令行运行一个项目,那么在这篇文章中使用的项目可以在Secure Code Warrior GitHub账户中的`sensei-blog-examples`仓库中找到。给读者的一个练习是创建一个配置文件,只运行Sensei 规则。试一试吧。
https://github.com/securecodewarrior/sensei-blog-examples
目录
Alan Richardson拥有超过20年的专业IT经验,他曾作为一名开发人员,在测试层次的各个层面工作,从测试员到测试主管。在Secure Code Warrior ,他是开发者关系主管,直接与团队合作,以改善高质量安全代码的开发。Alan是四本书的作者,包括 "Dear Evil Tester "和 "Java For Testers"。艾伦还创建了在线培训courses ,帮助人们学习技术网络测试和用Java编写的Selenium WebDriver。Alan在SeleniumSimplified.com、EvilTester.com、JavaForTesters.com和CompendiumDev.co.uk上发布他的写作和培训视频。

Secure Code Warrior 我们在这里为您的组织提供服务,帮助您在整个软件开发生命周期中确保代码安全,并创造一种将网络安全放在首位的文化。无论您是应用安全经理、开发人员、CISO或任何涉及安全的人,我们都可以帮助您的组织减少与不安全代码有关的风险。
预定一个演示下载资源
OpenText 应用程序安全性的强大功能 + Secure Code Warrior
OpenText Application Security and Secure Code Warrior combine vulnerability detection with AI Software Governance and developer capability. Together, they help organizations reduce risk, strengthen secure coding practices, and confidently adopt AI-driven development.
Secure Code Warrior corporate overview
Secure Code Warrior is an AI Software Governance platform designed to enable organizations to safely adopt AI-driven development by bridging the gap between development velocity and enterprise security. The platform addresses the "Visibility Gap," where security teams often lack insights into shadow AI coding tools and the origins of production code.
安全代码培训主题和内容
Our industry-leading content is always evolving to fit the ever changing software development landscape with your role in mind. Topics covering everything from AI to XQuery Injection, offered for a variety of roles from Architects and Engineers to Product Managers and QA. Get a sneak peek of what our content catalog has to offer by topic and role.
资源
Observe and Secure the ADLC: A Four-Point Framework for CISOs and Development Teams Using AI
While development teams look to make the most of GenAI’s undeniable benefits, we’d like to propose a four-point foundational framework that will allow security leaders to deploy AI coding tools and agents with a higher, more relevant standard of security best practices. It details exactly what enterprises can do to ensure safe, secure code development right now, and as agentic AI becomes an even bigger factor in the future.






