SensioLabsInsight
SensioLabsInsight是一项质量保证服务,可分析源代码以发现降低项目整体质量的问题。它可以分析任何使用 PHP 开发的应用程序,并具有专门设计的规则来执行各种项目类型的高级分析,例如 Symfony 应用程序、Laravel 网站、Drupal 模块等。每个分析都会生成一份非常详细的报告,其中包含所有发现的问题,从性能问题到潜在的安全漏洞。此外,每个错误都会在您自己的代码上下文中进行解释,并包含有关如何修复它的综合文档。
SensioLabsInsight 通过SensioLabsInsight插件与 PhpStorm 无缝集成。该插件在编辑器装订线中显示所有检查结果,提供方便的导航到完整的 SensioLabsInsight 报告等等。在本教程中,我们将研究如何开始使用 SensioLabsInsight 服务、配置集成,并通过 SensioLabsInsight 服务提供的额外检查来继续提高您的项目代码质量。
您可以观看视频教程以了解有关 SensioLabsInsight 与 PhpStorm 集成的更多信息。
在你开始前
在开始使用 SensioLabsInsight 之前,请确保SensioLabsInsight插件已安装并启用。按Ctrl+Alt+S,转到插件并检查已安装选项卡以确保插件已启用。
启用 SensioLabsInsight 与 PhpStorm 的集成
要熟悉 SensioLabsInsight,请参阅 SensioLabsInsight入门教程。
安装 SensioLabsInsight 插件后,您需要启用与项目的 SensioLabsInsight 帐户的集成。创建或打开项目后,PhpStorm 将显示一条通知消息,建议您配置插件。
将 PhpStorm 连接到您的 SensioLabsInsight 帐户
使用 PhpStorm 项目配置 SensioLabsInsight 集成
要为现有项目启用 SensioLabsInsight 集成,只需确保它指向您在 SensioLabsInsight Web 界面中使用的同一 VCS 存储库。要检查项目的当前 VCS 根配置,请在Settings/Preferences对话框 ( Ctrl+Alt+S) 中单击Version Control。
如果您已配置与SensioLabsInsight 帐户的连接,该插件将根据远程 URL 自动与特定项目关联。您可以查看当前选择的项目,或者在Settings/Preferences对话框的SensioLabsInsight页面上手动选择一个项目:
如果您想创建一个新项目,请按照从头开始创建新项目中的说明进行操作。如果从 VCS 签出项目,它将自动与相关的 SensioLabsInsight 项目关联(基于其远程 URL);否则,您需要明确选择它。
在 PhpStorm 中探索 SensioLabsInsight 分析结果
配置 SensioLabsInsight 与 PhpStorm 的集成后,PhpStorm 会从 SensioLabsInsight 服务获取最新报告。所有违反规则的行为都显示在编辑器装订线中。单击该图标可获取更完整的规则违规注释,并可选择直接导航至完整的 SensioLabsInsight 报告。
在 PhpStorm 中运行检查
SensioLabsInsight 检查与 PhpStorm 的内置检查集成在一起,这意味着您可以通过
或 命令Ctrl+Alt+Shift+I。您还可以从PhpStorm状态栏中的SensioLabsInsight面板运行基于 SensioLabsInsight 的检查。单击此面板将显示所有与 SensioLabsInsight 相关的操作。选择运行代码检查并在问题工具窗口中查看检查结果。
在 PhpStorm 中更新 SensioLabsInsight 报告
SensioLabsInsight 旨在不断改进您的分析结果,这意味着更新您的报告是重要的一步。要从 SensioLabsInsight 服务器获取最新报告,请在 PhpStorm 状态栏中的SensioLabsInsight面板中,单击Sync with latest analysis on SensioLabsInsight:
为获得最佳性能,请确保将您的 SensioLabsInsight 项目配置为在每次提交时重新分析。在与服务器同步时,PhpStorm 插件会自动获取当前提交哈希或相应分支的分析报告。
导航到 SensioLabsInsight 仪表板
要导航到 SensioLabsInsight 仪表板,请执行以下任一操作:
单击编辑器装订线中的图标。
单击检查结果工具窗口中的链接。
在 PhpStorm 的状态栏的 SensioLabsInsight 面板中选择相应的操作: