Deep Dive into Editor
编辑器是开发人员花费大部分时间的区域。 掌握编辑器是提高任何资源生产力的第一步。 本章讨论编辑器的可视元素,最常见的编辑器操作和提供lint检查的SonarLint插件。
编辑的视觉元素
IntelliJ有许多规定,包括视觉元素,旨在帮助开发人员浏览和理解编码的真实状态。
现在让我们通过不同的规定 -
天沟区
编辑器的装订区位于IDE的左侧,如下图所示 -
Labels
我们现在将了解标签的工作原理。 上面的屏幕截图标有数字。 我们现在将看到数字必须显示的内容 -
在这里,我们可以看到行号以及其他有用的选项。 如果您在课名和主要方法之前仔细观察,则会出现一个小的绿色三角形。 它提供了运行,调试和运行带覆盖的应用程序的选项。 只需点击三角形图标,它就会提供选项。
您可以在第6行看到小加号。这是代码折叠功能。 如果您单击该图标,它将展开它。 代码折叠可以在类,方法,循环和其他块级别完成。
在第11和14行,有2个箭头指向彼此。 标记表示方法的开始和结束位置。 如果单击任何箭头,则它将对该代码块执行折叠操作。 当采取某些行动时,天沟区域将显示各种符号; 例如,它将显示断点符号,Java注释。
状态栏
在编辑器窗口的底部,有一个状态栏,显示有关当前文件和项目状态的信息。
在第一图像中,16:1分别表示当前行号和列号。
接下来是行分隔符,对于UNIX和mac OS,它是\ n,对于windows,它是\ r\n。
UTF-8表示文件编码。
接下来是lock图标。 我们可以通过点击来切换文件的只读属性。
最后,有一个男人的脸的象征。 它允许管理代码检查级别。
当我们在编辑器中键入代码时,IntelliJ会动态检查代码并显示提示/建议。 我们可以从这里决定检查水平。 例如,我们可以完全禁用它或仅允许检查语法等。
我们还可以从此处启用省电模式,这将禁用后台代码分析和其他后台作业。
状态栏还显示有关项目操作的信息。 例如,第二个图像显示有关项目编译的信息。
划痕(Scratches)
IntelliJ提供临时编辑器。 您可以在不修改当前项目结构的情况下创建文本或代码段。 它提供两种类型的临时文件 -
划痕文件
它们功能齐全,可运行且可调试。 要创建临时文件 -
转到File → New → Scratch文件。
选择您选择的语言。
它将在IntelliJ-Installation-Directory\config\scratches文件夹中创建一个文件。
划痕缓冲区
这仅用于创建任何文本。 要创建临时缓冲区 -
按Ctrl + Shift + A或单击“搜索所有位置”图标
它会弹出对话框。
在该框中输入新的临时缓冲区文本,然后按Enter键。
它将在编辑器窗口中打开临时缓冲区。
与临时文件一样, scratch buffers也存储在IntelliJ-Installation-Directory\config\scratches文件夹中。
滚动条(Scrollbar)
滚动条突出显示代码中的警告/错误消息/ TODO标记。 例如,从不使用sayHello()和sayGoodBye()方法; 因此,滚动条显示黄色标记。
在第8行,有TODO注释,滚动条使用蓝色标记突出显示它。 使用红色标记突出显示错误。
编辑行动
在本节中,我们将讨论IntelliJ中的编辑器操作。
搜索和替换
要搜索当前文件中的文本 -
在“编辑器”窗口中导航到该文件,然后按Ctrl + F.
它将显示文本框,键入要在其中搜索的文本。
您可以在此处提供各种选项 - 区分大小写,完全匹配,正则表达式等。
您可以在非常精细的级别执行搜索操作。 例如,搜索可以在项目,模块或目录级别完成 -
按Ctrl+Shift+F组合键。
将出现一个新窗口; 从这里,您可以选择适当的级别。
要在当前文件中执行替换操作 -
按Ctrl+R组合键。
将出现一个对话框,在此处输入要替换的文本。
此操作允许您替换单个匹配,所有匹配或跳过当前匹配。
要在粒度级别执行替换操作 -
按Shift+Ctrl+R组合键。
它将允许您替换项目,模块,目录和其他范围中的文本。
列选择模式
要启用列模式选择,请在选择文本时按住Alt键。 要永久启用列选择模式,请选择Edit → Column selection mode 。
剪贴板历史
当我们复制任何文本时,它会转到剪贴板历史记录。 IntelliJ维护剪贴板历史记录。 要查看此历史记录,请Ctrl+Shift+V组合键。 您可以从此窗口中选择要粘贴的内容。
代码完成
IntelliJ可以code on the fly检查code on the fly并提供准确的代码完成。 例如,当我输入单词say - 它表示sayHello()和sayGoodBye()方法。
代码完成在使用类对象时建议类属性和类方法。
生成代码
IntelliJ提供了一种生成有用代码的方法,如构造函数,getter,setter,toString()方法,覆盖方法等。 按照以下步骤在“编辑器”窗口中生成右键单击。
选择Generate选项。
它将列出可以生成代码的方法。
代码检查
我们已经看到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识别出这一点并建议删除此代码块。
比较文件和文件夹
请按照以下步骤比较文件和文件夹 -
按住Ctrl键并从项目角度选择要比较的文件。
右键单击它并选择Compare Files选项。
它将打开比较窗口,其中突出显示更改。
您还可以将更改从一个文件应用到另一个文件。 如果您观察,有两个红色突出显示的箭头标记。 单击它们以应用其他文件中的更改。 按Ctrl+Z撤消更改。
同样,要比较文件夹,请从项目透视图而不是文件中选择文件夹。
获得帮助
如果您轻松获得有关代码的详细信息,则非常有用 与方法描述一样,它的返回类型,参数类型和参数数量 - IntelliJ可以在Editor窗口本身提供这些细节。
内联文档
顾名思义,IntelliJ可以通过从代码中提取文档来访问文档。 如果您为代码提供Java Docs,那么IntelliJ可以显示有关它的帮助。 要访问内联文档,请单击方法名称并按Ctrl+Q组合键。
查看定义
要查看定义,请将鼠标悬停在方法名称上,然后按Ctrl+Shift+I组合键。
显示用法
要查看方法用法,请单击方法声明/定义,然后按Alt+Ctrl+F7组合键。
查看参数
要查看方法参数,请键入方法名称,然后按Ctrl+P组合键。
Linting Code
Linting是一个过程,其中lint工具分析源代码并报告与编码标准相关的潜在问题。 它有助于提高代码质量。 IntelliJ支持提示代码的SonarLint插件。
关于SonarLint
安装并启用SonarLint插件后,当您在“编辑器”窗口中打开文件时,它将自动开始分析代码。 它将在SonarLint面板中报告问题。 我们将在本节中讨论更多相关内容。
SonarLint支持流行的编程语言,如Java,JavaScript,PHP和Python。
安装 (Installation)
请按照以下步骤安装SonarLint -
从here下载SonarLint。
转到File → Settings → Select plugins 。
单击“ Install plugin from disk按钮。
按照屏幕安装完成安装过程。
代码分析
安装并启用插件后,它将立即开始分析code on the fly 。 它将在SonarLint面板中报告问题。 请按照以下步骤查看当前文件的问题 -
单击“当前文件”选项卡。
它将报告诸如未使用的局部变量,未使用的类属性,消息记录等问题。
要了解有关问题的更多信息,请单击SolarLint面板中的问题。
在窗口的右侧,它将显示其严重性为Major,Minor等。
做一次性代码分析
如果您对即时代码分析不满意,那么您可以禁用它并在准备好代码后执行一次代码分析。 请按照以下步骤禁用即时代码分析 -
转到File → Settings → Other Setting → SonarLint General设置
从设置选项卡中取消选中Automatically Trigger Analysis复选框。
单击Apply然后单击Ok按钮。