
Exécution d'inspections IntelliJ à partir d'une intégration continue
从持续集成中运行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
Apprenez à exécuter les actions d'intention de Sensei et IntelliJ en mode batch sous forme d'inspections dans l'EDI, à partir de la ligne de commande et en intégration continue.
Alan Richardson possède plus de vingt ans d'expérience professionnelle en informatique. Il a travaillé en tant que développeur et a occupé tous les niveaux de la hiérarchie des tests, du testeur au responsable des tests. Responsable des relations avec les développeurs chez Secure Code Warrior, il travaille directement avec les équipes, pour améliorer le développement d'un code sécurisé de qualité. Alan est l'auteur de quatre livres, dont « Dear Evil Tester » et « Java For Testers ». Alan a également créé des cours de formation en ligne pour aider les utilisateurs à apprendre les tests techniques sur le Web et Selenium WebDriver avec Java. Alan publie ses vidéos d'écriture et de formation sur SeleniumSimplified.com, EvilTester.com, JavaForTesters.com et CompendiumDev.co.uk.

Secure Code Warrior 在整个软件开发周期中保障代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全负责人、开发人员、信息安全主管,还是其他任何参与安全工作的人员,我们都能协助您的组织降低不安全代码带来的风险。
预约演示Alan Richardson possède plus de vingt ans d'expérience professionnelle en informatique. Il a travaillé en tant que développeur et a occupé tous les niveaux de la hiérarchie des tests, du testeur au responsable des tests. Responsable des relations avec les développeurs chez Secure Code Warrior, il travaille directement avec les équipes, pour améliorer le développement d'un code sécurisé de qualité. Alan est l'auteur de quatre livres, dont « Dear Evil Tester » et « Java For Testers ». Alan a également créé des cours de formation en ligne pour aider les utilisateurs à apprendre les tests techniques sur le Web et Selenium WebDriver avec Java. Alan publie ses vidéos d'écriture et de formation sur SeleniumSimplified.com, EvilTester.com, JavaForTesters.com et 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 在整个软件开发周期中保障代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全负责人、开发人员、信息安全主管,还是其他任何参与安全工作的人员,我们都能协助您的组织降低不安全代码带来的风险。
显示报告预约演示Alan Richardson possède plus de vingt ans d'expérience professionnelle en informatique. Il a travaillé en tant que développeur et a occupé tous les niveaux de la hiérarchie des tests, du testeur au responsable des tests. Responsable des relations avec les développeurs chez Secure Code Warrior, il travaille directement avec les équipes, pour améliorer le développement d'un code sécurisé de qualité. Alan est l'auteur de quatre livres, dont « Dear Evil Tester » et « Java For Testers ». Alan a également créé des cours de formation en ligne pour aider les utilisateurs à apprendre les tests techniques sur le Web et Selenium WebDriver avec Java. Alan publie ses vidéos d'écriture et de formation sur SeleniumSimplified.com, EvilTester.com, JavaForTesters.com et 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 possède plus de vingt ans d'expérience professionnelle en informatique. Il a travaillé en tant que développeur et a occupé tous les niveaux de la hiérarchie des tests, du testeur au responsable des tests. Responsable des relations avec les développeurs chez Secure Code Warrior, il travaille directement avec les équipes, pour améliorer le développement d'un code sécurisé de qualité. Alan est l'auteur de quatre livres, dont « Dear Evil Tester » et « Java For Testers ». Alan a également créé des cours de formation en ligne pour aider les utilisateurs à apprendre les tests techniques sur le Web et Selenium WebDriver avec Java. Alan publie ses vidéos d'écriture et de formation sur SeleniumSimplified.com, EvilTester.com, JavaForTesters.com et CompendiumDev.co.uk.

Secure Code Warrior 在整个软件开发周期中保障代码安全,并营造将网络安全置于首位的企业文化。无论您是应用安全负责人、开发人员、信息安全主管,还是其他任何参与安全工作的人员,我们都能协助您的组织降低不安全代码带来的风险。
预约演示下载



%20(1).avif)
.avif)
