Intellij Idea - 深入探索编辑器

编辑器是开发人员花费最多时间的地方。掌握编辑器是提高任何资源生产力的第一步。本章讨论了编辑器的可视化元素、最常见的编辑器操作以及提供 lint 检查的 SonarLint 插件。

编辑器的可视化元素

IntelliJ 有许多功能,其中包括可视化元素,旨在帮助开发人员浏览和了解其编码的真实状态。

现在让我们来看看不同的功能 −

Gutter Area

编辑器的 Gutter Area 位于 IDE 的左侧,如下图所示 −

Gutter Area

标签

现在我们将了解标签的工作原理。上面的屏幕截图以数字标记。我们现在将看到数字要显示的内容 −

  • 在这里我们可以看到行号以及其他有用的选项。如果仔细观察,在类名和主方法之前有一个绿色的小三角形。它提供了运行、调试和运行覆盖率应用程序的选项。只需单击三角形图标,它就会提供选项。

  • 您可以在第 6 行看到小加号。这是代码折叠功能。如果单击该图标,它将展开。可以在类、方法、循环和其他块级别进行代码折叠。

  • 在第 11 行和第 14 行,有 2 个指向彼此的箭头。标记表示方法的开始和结束位置。如果单击任何箭头,它将对该代码块执行折叠操作。当采取某些操作时,Gutter 区域将显示各种符号;例如,它将显示断点、Java 注释的符号。

状态栏

在编辑器窗口的底部,有一个状态栏,显示有关当前文件和项目状态的信息。

事件日志 状态栏
  • 在第一张图片中,16:1 分别代表当前行号和列号。

  • 接下来是行分隔符,对于 UNIX 和 mac OS 是,对于 windows 是。

  • UTF-8 代表文件编码。

  • 接下来是图标。我们可以通过单击它来切换文件的只读属性。

  • 最后,有一个男人脸的符号。它允许管理代码检查级别。

    • 当我们在编辑器中输入代码时,IntelliJ 会动态检查代码并显示提示/建议。我们可以从这里决定检查级别。例如,我们可以完全禁用它或仅允许检查语法等。

    • 我们还可以从这里启用省电模式,这将禁用后台代码分析和其他后台作业。

  • 状态栏还显示有关项目操作的信息。例如,第二幅图显示了有关项目编译的信息。

Scratches

IntelliJ 提供了一个临时编辑器。您可以创建文本或代码片段,而无需修改当前项目结构。它提供了两种类型的临时文件 −

Scratch 文件

它们具有功能性、可运行性和可调试性。要创建临时文件 −

  • 转到 File → New → Scratch 文件。

  • 选择您选择的语言。

  • 它将在 IntelliJ-Installation-Directory\ config \scratches 文件夹中创建一个文件。

Scratch 缓冲区

这仅用于创建任何文本。要创建临时缓冲区 −

  • 按 Ctrl + Shift + A 或单击"Search Everywhere"图标

  • 它将弹出对话框。

  • 在该框中输入新的临时缓冲区文本,然后按 Enter。

  • 它将在编辑器窗口中打开临时缓冲区。

与临时文件一样,临时缓冲区也存储在 IntelliJ-Installation-Directory\config\scratches 文件夹中。

滚动条

滚动条突出显示代码中的警告/错误消息/TODO 标记。例如,sayHello() 和 sayGoodBye() 方法从未使用过;因此,滚动条会显示黄色标记。

Scrollbar

第 8 行有 TODO 注释,滚动条使用蓝色标记突出显示它。错误使用红色标记突出显示。

编辑器操作

在本节中,我们将讨论 IntelliJ 中的编辑器操作。

搜索和替换

要在当前文件中搜索文本 −

  • 在编辑器窗口中导航到文件并按 Ctrl+F。

  • 它将显示文本框,在那里输入要搜索的文本。

  • 您可以在此处提供各种选项 - 区分大小写匹配、精确匹配、正则表达式等。

编辑器操作

您可以在非常精细的级别执行搜索操作。例如,可以在项目、模块或目录级别进行搜索 −

  • Ctrl+Shift+F 组合键。

  • 将出现一个新窗口;从这里,您可以选择适当的级别。

新窗口

要在当前文件中执行替换操作 −

  • Ctrl+R 组合键。

  • 将出现一个对话框,在此处输入要替换的文本。

  • 此操作允许您替换单个匹配项、所有匹配项或跳过当前匹配项。

替换单个

要在细粒度级别执行替换操作 −

  • Shift+Ctrl+R组合键。

  • 它将允许您在项目、模块、目录和其他范围内替换文本。

列选择模式

要启用列模式选择,请在选择文本时按住 Alt 键。要永久启用列选择模式,请选择 编辑 → 列选择模式

列选择

剪贴板历史记录

当我们复制任何文本时,它会进入剪贴板历史记录。IntelliJ 会保留剪贴板历史记录。要查看此历史记录,请按 Ctrl+Shift+V 组合键。您可以从此窗口中选择要粘贴的内容。

剪贴板历史记录

代码完成

IntelliJ 检查动态代码并提供准确的代码完成。例如,当我输入单词 say 时 - 它会建议 sayHello()sayGoodBye() 方法。

代码完成

在使用类对象时,代码完成会建议类属性和类方法。

生成代码

IntelliJ 提供了一种生成有用代码的方法,如构造函数、getter、setter、toString() 方法、覆盖方法等。按照以下步骤在编辑器窗口中生成右键单击。

  • 选择 Generate 选项。

  • 它将列出可以生成代码的方法。

Generate Option

代码检查

我们已经看到 IntelliJ 识别语法错误、警告消息和 TODO 标记。除此之外,它还建议改进代码、识别死代码、优化代码。例如,在下面给出的代码中,flag 的值始终为 true。因此,else 部分永远不会被执行。

boolean flag = true; 
if (flag == true) { 
   System.out.println("Value of flag is true"); 
} else { 
   System.out.println("Value of flag is false"); 
}

IntelliJ 识别出此问题并建议删除此代码块。

Code Inspection

比较文件和文件夹

按照以下步骤比较文件和文件夹 −

  • 按住 Ctrl 键并从项目角度选择要比较的文件。

  • 右键单击它并选择 比较文件 选项。

  • 它将打开比较窗口,其中突出显示更改。

您还可以将更改从一个文件应用到另一个文件。如果您观察,有两个箭头标记以红色突出显示。单击它们以应用来自其他文件的更改。按 Ctrl+Z 撤消更改。

同样,要比较文件夹,请从项目角度选择文件夹而不是文件。

Compare Files

获取帮助

如果您能轻松获取有关代码的详细信息,这将非常有用。例如方法描述、其返回类型、参数类型和参数数量 - IntelliJ 可以在编辑器窗口本身中提供这些详细信息。

内联文档

顾名思义,IntelliJ 可以通过从代码中提取文档来访问文档。如果您为代码提供 Java 文档,那么 IntelliJ 可以显示有关它的帮助。要访问内联文档,请将鼠标悬停在方法名称上,然后按下 Ctrl+Q 组合键。

内联文档

查看定义

要查看定义,请将鼠标悬停在方法名称上,然后按 Ctrl+Shift+I 组合键。

查看定义

显示用法

要查看方法用法,请单击方法声明/定义,然后按 Alt+Ctrl+F7 组合键。

显示用法

查看参数

要查看方法参数,请键入方法名称,然后按 Ctrl+P 组合键。

查看参数

代码检查

代码检查是 lint 工具分析源代码并报告与编码标准相关的潜在问题的过程。它有助于提高代码质量。IntelliJ 支持 SonarLint 插件,该插件可检查代码。

关于 SonarLint

安装并启用 SonarLint 插件后,当您在编辑器窗口中打开文件时,它将自动开始分析代码。它将在 SonarLint 面板中报告问题。我们将在本节中对此进行更多讨论。

SonarLint 支持 Java、JavaScript、PHP 和 Python 等流行编程语言。

安装

按照以下步骤安装 SonarLint −

  • 此处下载 SonarLint。

  • 转到文件 → 设置 →选择插件

  • 单击从磁盘安装插件按钮。

  • 按照屏幕上的安装完成安装过程。

屏幕安装

代码分析

安装并启用插件后,它将开始动态代码分析。它将在 SonarLint 面板中报告问题。按照以下步骤查看当前文件的问题 −

  • 单击"当前文件"选项卡。

  • 它将报告未使用的局部变量、未使用的类属性、消息日志等问题。

  • 要了解有关问题的更多信息,请单击 SolarLint 面板中的问题。

  • 在窗口的右侧,它将显示其严重性,包括"主要"、"次要"等。

严重性为主要

进行一次性代码分析

如果您不习惯即时代码分析,则可以禁用它,并在准备好代码后执行一次性代码分析。按照以下步骤禁用即时代码分析 −

  • 转到文件 → 设置 → 其他设置 → SonarLint 常规设置

  • 从设置选项卡中取消选中自动触发分析复选框。

  • 单击应用,然后单击确定按钮。

自动触发分析