您可以使用相同的对话框查找类,文件或符号。有关更多信息,请参阅 按名称搜索目标。
在编辑器中,按Ctrl+Alt+Insert以添加类,文件或包类,文件或包。在编辑器中,按Ctrl+Alt+Insert以添加类,文件或包类,文件或包。
如果焦点位于“ 项目”工具窗口内,并且您要添加新元素,请按Alt+Insert。
要创建新的Scratch文件,请按Ctrl+Shift+Alt+Insert。
IntelliJ IDEA创建一个可以运行和调试的临时文件。有关更多信息,请参阅Scratch文件。
如果文件是只读的,则会在状态栏,编辑器选项卡或项目工具窗口中使用关闭的锁定图标进行 标记 。如果文件是可写的,则
在状态栏中标记为打开锁定图标。
在编辑器中打开文件或在“项目”工具窗口中选择它。
执行以下操作之一:
从主菜单中,选择File | 使文件成为只读或文件| 使文件可写。
单击状态栏中的锁定图标。
如果版本控制系统设置了只读状态,则建议您使用IntelliJ IDEA版本控制集成功能。有关更多信息,请参阅 IntelliJ IDEA的版本控制。
在编辑器中,将插入符号放在要选择的项目上,然后按 Ctrl+W/ Ctrl+Shift+W以扩展或缩小选择。
例如,在纯文本文件中,选择在整个单词内开始,然后扩展到句子,段落等。
在Java文件中,如果首先在方法调用中选择一个参数,它将扩展到所有参数,然后扩展到整个方法,然后扩展到包含此方法的表达式,然后扩展到更大的表达式块,依此类推。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 一般| 智能钥匙。
选择使用“CamelHumps”字样复选框。
如果要在根据大小写选择时使用双击,请确保 在编辑器中选中Honor CamelHumps words ...复选框。“ 设置/首选项” 对话框的常规页面(Ctrl+Alt+S)。
您可以快速找到文件中所选元素的所有匹配项,进行多项选择,或选择下一个或上一个匹配项。
要选择文件中的多个匹配项,请初始选择代码,然后按 Alt+J。按相同的键以查找下一个匹配项。
或者,Shift+Alt按住,双击或拖动要添加到选区的文本。
要选择文件中的所有匹配项,请按Ctrl+Shift+Alt+J。
要将插入符移动到下一个或上一个出现位置,请分别按F3或 Shift+F3。
要查找所选标识符的下一个或上一个匹配项,请按 Alt+Wheel down/ Alt+Wheel up。
您可以使用标准快捷方式复制(Ctrl+C)和粘贴(Ctrl+V)任何选定的代码片段。如果未选择任何内容,IntelliJ IDEA会自动复制插入符所在的整行。
默认情况下,当您在编辑器中粘贴任何内容时,IntelliJ IDEA会执行“智能”粘贴,例如,在注释中粘贴多行会自动将相应的标记添加到您要粘贴的行中。如果您只需要粘贴纯文本,请按Ctrl+Shift+Alt+V。
将插入符号放在一行或符号上,然后按Ctrl+Shift+Alt+C/ Ctrl+V。
IntelliJ IDEA会跟踪您复制到剪贴板的所有内容。要从历史记录中粘贴,请按 Ctrl+Shift+V。在打开的对话框中,选择您的条目,然后单击粘贴。
您可以配置剪贴板堆栈的深度。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 一般。在“ 限制”部分的“ 要保留在剪贴板中的最大内容数”字段中,指定条目数。超过指定的数量时,将从列表中删除最旧的条目。
IntelliJ IDEA提供了几个用于操作代码行的有用快捷方式。
要在当前行之后添加一行,请按Shift+Enter。IntelliJ IDEA将插入符号移动到下一行。
要在当前行之前添加一行,请按Ctrl+Alt+Enter。IntelliJ IDEA将插入符号移动到上一行。
要复制一行,请按Ctrl+D。
要删除线条,请将插入符号放在所需的线条上,然后按Ctrl+Y。
请注意,首次使用Windows默认键盘映射安装IntelliJ IDEA时,会出现一个对话框,提示您将此快捷方式映射到“ 重做”或“ 删除行”操作。
要在安装后调整键盘映射,请参阅 选择正确的键盘映射。
要连接线条,请将插入符号放在要连接其他线条的线条上,然后按 Ctrl+Shift+J。按住键直到所有需要的元素都连接在一起。
您还可以连接字符串文字,字段或变量声明以及语句。请注意,IntelliJ IDEA会检查代码样式设置并消除不需要的空格和冗余字符。
要将字符串文字拆分为两部分,请按Enter。
IntelliJ IDEA拆分字符串并提供正确的语法。您还可以在'\ n'意图上使用Break字符串来拆分字符串文字。按Alt+Enter或单击 以选择此意图。
要注释一行代码,请将插入符号放在相应的行上,然后按 Ctrl+/。
要向上或向下移动线条,请 分别按Shift+Alt+Up或Shift+Alt+Down。
要删除一行代码,请按Ctrl+Y。
要将代码元素向左或向右移动(交换),请将插入符号放在其上,或选择它并按Ctrl+Shift+Alt+Left向左或Ctrl+Shift+Alt+Right向右键。
例如,对于Java,您可以将这些操作用于方法调用或方法声明参数,枚举常量,数组初始化表达式。对于XML或HTML,请将这些操作用于标记属性。
在编辑器中,将插入符号放在所需的语句中,然后按下Ctrl+Shift+Up以移动语句或Ctrl+Shift+Down向下移动语句。IntelliJ IDEA移动所选语句执行语法检查。
如果在当前上下文中不允许移动语句,则将禁用操作。
在编辑器中,按Ctrl+Shift+Enter。IntelliJ IDEA在结构,切片和其他复合文字中自动插入所需的尾随逗号。插入符号移动到您可以开始键入下一个语句的位置。
将插入符号放在要删除或展开的表达式上。
按Ctrl+Shift+Delete。
IntelliJ IDEA显示一个弹出窗口,其中包含当前上下文中可用的所有操作。要提取的语句显示在蓝色背景上,要删除的语句显示在灰色背景上。
选择一个操作,然后按Enter。
通过在编辑器中拖动代码片段来移动和复制它们。
要移动代码片段,请选择它并将选择拖动到目标位置。
要复制代码选择,请Ctrl按住,将其拖动到目标位置。
复制操作可能在macOS中不可用,因为它可能 与全局操作系统快捷方式冲突。
默认情况下启用拖放功能。要禁用它,请在“ 设置/首选项” 对话框(Ctrl+Alt+S)中转到“ 编辑器”| 常规并清除鼠标部分中的编辑器中的启用Drag'n'Drop功能复选框。
要在所选代码片段的大写和小写之间切换,请按Ctrl+Shift+U。
请注意,将切换案例操作应用于CamelCase名称格式时,IntelliJ IDEA会将名称转换为小写。
要评论或取消注释代码片段,请选择它并按Ctrl+Shift+/。
要配置生成的行或块注释应放在Java中的设置,请在“ 设置/首选项” 对话框(Ctrl+Alt+S)中转到“ 编辑器”| “设置” 。代码风格| Java和代码生成选项卡使用“ 注释代码” 部分中的选项。
您可以同时编辑多行。例如,您可以将注释标记添加到多行,或删除多个单词中的某些字符。
要添加或删除多个Shift+Alt 插入符号,请按住 并单击插入符号的下一个位置。
或者,要添加多个插入符号,您可以按 两次Ctrl(对于Windows或Linux)/ Alt(对于macOS),然后按下向上或向下箭头键而不释放它 。
要删除所有添加的插入符号,请按Escape。
您可以在列中进行多个代码选择。按Shift+Alt+Insert以启用列选择模式。按相同的快捷方式将其禁用。
当您想要同时编辑多行代码时,此模式很有用。将插入符号放在您需要的符号上,然后向上或向下拖动它,或者选择一个代码块并按指定的快捷键以获得相同的结果。
默认情况下,禁用列选择模式。启用后,该模式仅影响当前编辑器,如果关闭并重新打开编辑器,则该模式将被禁用。
折叠的代码片段显示为阴影椭圆()。如果折叠的代码片段包含错误,IntelliJ IDEA会以红色突出显示片段。
要配置默认代码折叠行为,请打开“ 设置/首选项”对话框(Ctrl+Alt+S)并转到“ 编辑器”| 一般| 代码折叠。
要折叠/展开代码片段的代码,请按Ctrl+NumPad -/ Ctrl+NumPad Plus。IntelliJ IDEA折叠/展开当前代码片段,例如,单个方法。
要折叠/展开所有代码片段,请按Ctrl+Shift+NumPad -/ Ctrl+Shift+NumPad Plus。
IntelliJ IDEA折叠/展开选择内的所有片段,或者,如果未选择任何内容,则折叠/扩展当前文件中的所有片段,例如,文件中的所有方法。
要递归地折叠/扩展代码,请按Ctrl+Alt+NumPad -/ Ctrl+Alt+NumPad Plus。IntelliJ IDEA折叠/展开当前片段及其片段中的所有从属区域。
要折叠代码块,请按Ctrl+Shift+.。此操作会折叠匹配的花括号对之间的代码片段,{}
并为该片段创建自定义折叠区域并使其“可折叠”。
要折叠/展开当前文件中的doc注释,请在主菜单中选择 Code | 折叠| 展开文档评论/折叠文档评论。
要折叠/展开自定义代码选择,请按Ctrl+.。
您可以在代码中折叠或展开任何手动选择的区域。
要展开当前片段和所有嵌套片段,请按Ctrl+NumPad *, 1。您可以将当前片段扩展到指定的嵌套级别(从1到5)。
要展开文件中的所有折叠片段,请按Ctrl+Shift+NumPad *, 1。您可以将折叠的片段扩展到指定的嵌套级别(从1到5)。
您可以使用Surround With操作折叠或展开代码。
在编辑器中,选择一个代码片段并按 Ctrl+Alt+T。
在弹出菜单中,选择
如果需要,请为自定义区域命名,然后像往常一样折叠或展开创建的区域(Ctrl+NumPad -/ Ctrl+NumPad Plus)。
按此Ctrl+Alt+.按钮导航到创建的自定义区域。
您可以禁用左侧装订线上显示的代码折叠轮廓。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 一般| 代码折叠。
清除显示代码折叠大纲复选框。
IntelliJ IDEA会自动保存您在文件中所做的更改。保存由各种事件触发,例如编译,运行,调试,执行版本控制操作,关闭文件或项目,或退出IDE。大多数实际事件都是预定义的,无法配置,但您可以确保在工作时不会丢失更改。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 外观和行为”| 系统设置。
在“ 同步”下,配置以下选项:
在帧停用 时保存文件(当您切换到其他应用程序时)
如果应用程序空闲N秒,则自动保存文件
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 一般| 编辑器标签。
选中“ 使用星号标记已修改的选项卡”复选框。
对于最近的更改,请打开“ 编辑”菜单并单击“ 撤消”,或按Ctrl+Z。
有关过去更改的更详细视图,请使用“ 本地历史记录”。
要最强大地跟踪所有更改,请使用IntelliJ IDEA支持的版本控制系统。
IntelliJ IDEA编辑器是IDE用于创建,读取和修改代码的主要部分。
编辑包括以下几个方面:
滚动条显示当前文件中的错误和警告。
Breadcrumbs可以 帮助您在当前文件中的代码中导航。
左侧排水沟显示行号和注释。
选项卡显示当前打开的文件的名称。
您可以使用各种快捷方式在编辑器和不同的工具窗口之间切换,更改编辑器大小,切换焦点或返回到原始布局。
在编辑器中,按Ctrl+Shift+F12。IntelliJ IDEA隐藏除活动编辑器之外的所有窗口。
按Escape。IntelliJ IDEA将焦点从任何窗口移动到活动编辑器。
按Alt+F12。IntelliJ IDEA关闭终端窗口。
如果在切换回活动编辑器时需要打开终端窗口,请按 Ctrl+Tab。
按Shift+F12。
要将当前布局保存为默认布局,请从主菜单中选择 Window | 将当前布局存储为默认值。您可以使用相同的快捷方式(Shift+F12)来恢复已保存的布局。
按F12。
要使用切换台在打开的文件和工具窗口之间跳转,请按Ctrl+Tab。
保持Ctrl按下以使切换器弹出窗口保持打开状态。
按Tab可在元素之间移动。按此 Backspace键从列表中删除所选文件,然后在编辑器中将其关闭。
您可以在方案,键盘映射或查看模式之间切换。
按Ctrl+`。
在“ 切换”菜单中,选择所需选项,然后按Enter。使用相同的快捷方式(Ctrl+`)撤消更改。
您还可以在编辑器中查找和调整配色设置,包括视力不足的人的高对比度配色方案 “颜色方案”页面和“ 设置/首选项” 对话框()的“键映射”页面上的键盘映射设置 。 Ctrl+Alt+S
按Alt+Home。
您可以关闭,隐藏和分离编辑器选项卡。每次打开文件进行编辑时,活动编辑器选项卡旁边都会添加一个带有名称的选项卡。
要配置编辑器选项卡的设置,请使用编辑器| 一般| “ 设置/首选项” 对话框的编辑器选项卡页面(Ctrl+Alt+S)。
要关闭所有打开的选项卡,请选择Window | 编辑器标签| 从主菜单中关闭全部。
要关闭所有非活动选项卡,请按Alt,然后单击活动选项卡。在这种情况下,只有活动选项卡保持打开状态。
要仅关闭活动选项卡,请按Ctrl+F4。您还可以单击选项卡上任意位置的鼠标滚轮按钮将其关闭。
要重新打开关闭的选项卡,请右键单击任何选项卡,然后从上下文菜单中选择“ 重新打开关闭选项卡”。
要在选项卡上移动或删除图标,请在“ 设置/首选项” 对话框(Ctrl+Alt+S)中转到“ 编辑器”| 一般| 编辑器选项卡,然后在关闭按钮位置 字段中选择适当的选项。
要在标签之间移动,请按Alt+Right或Alt+Left。
要将编辑器选项卡放在编辑器框架的不同部分或隐藏选项卡,请选择Window | 编辑器标签| 主菜单中的编辑器放置。
要对编辑器选项卡进行排序,请选择 Window | 编辑器标签| 从主菜单中按文件名对选项卡进行排序。
要分离活动选项卡,请按Shift+F4。
在主窗口外拖动所需的选项卡,然后向后拖动选项卡以将其附加。
您也可以使用Alt+mouse相同的操作。
在“ 项目”工具窗口中,选择要分离的文件并按 Shift+Enter。
您可以在最近查看的选项卡或文件之间切换。
在编辑器中,按Ctrl+Tab。按住Ctrl的切换窗口保持打开状态。用于Tab在选项卡和其他文件之间切换。
IntelliJ IDEA限制您可以同时在编辑器中打开的选项卡数量(默认选项卡限制为10)。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 一般| 编辑器标签。
在选项卡关闭策略部分中,根据您的首选项调整设置,然后单击确定。
如果选项卡限制等于1,则将禁用编辑器中的选项卡。如果希望编辑器永远不关闭选项卡,请键入一些无法访问的编号。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 一般| 编辑器标签。
如果没有空格选项,请选择隐藏选项卡。额外的选项卡将放置在编辑器右上角的列表中。
您可以使用多个选项来分割屏幕。
在编辑器中,右键单击所需的编辑器选项卡,然后选择拆分编辑器窗口的方式(垂直拆分或水平拆分)。IntelliJ IDEA创建编辑器的拆分视图,并根据您的选择放置它。
如果要在不拆分编辑器的情况下移动文件,请从主菜单中选择 Window | 编辑器选项卡和向右移动 或向下移动选项。
您可以使用“ 设置/首选项”(Ctrl+Alt+S)对话框来自定义编辑器的行为。
检查以下常用配置:
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 代码风格。
从语言列表中选择适当的语言并在语言页面上,配置选项卡和缩进,空格,包装和大括号,硬边和软边距等设置。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 字体。
例如,如果您之前保存了“ 颜色方案字体”设置,则会覆盖主要设置。带有相应通知的链接将显示在“ 字体”页面上。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 一般 (鼠标部分)。
选择更改字体大小(缩放)用Ctrl +鼠标滚轮选择。
返回编辑器,按住Ctrl(⌘在macOS上),然后使用鼠标滚轮调整字体大小。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 配色方案。
打开Color Scheme节点并选择所需的语言或框架。您还可以从节点列表中选择“ 常规”选项,以配置常规项的颜色方案设置,例如代码,编辑器,错误和警告,弹出窗口和提示,搜索结果等。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 一般| 代码完成。您可以在此处配置区分大小写的完成,自动显示选项,代码排序等。
选择允许在行尾后放置插入符号选项,将插入符号放在与上一行末尾相同位置的下一行。如果清除此选项,则下一行的插入符号位于实际行的末尾。
选择“ 允许在标签内放置插入符号”选项可帮助您在文件内部向上或向下移动插入符号,同时将其保持在相同位置。
例如,当您手动或自动保存代码并且想要保留插入符号行上的尾随空格时,无论在保存列表的条带尾随空格中选择了哪个选项 ,请选择始终在插入符号行上保留尾随空格选项。
例如,您可以配置显示硬包装指南或显示参数提示。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 一般。
在“ 软包装”部分中,指定适当的选项。
例如,您可以指定 要应用软包装的文件类型。在markdown文件中编写文档时可能会有所帮助。您可以为不同的基本编辑器操作配置特定行为。
例如,对于Java,SQL或Python,您可以选择带有选项卡选项的跳出结束括号/引号,以便Tab在键入代码时使用右括号或引号之外的导航。
使用代码时,IntelliJ IDEA可确保您的工作无压力。它提供了各种快捷方式和功能,可帮助您添加,选择,复制,移动,编辑,折叠和保存代码。
您可以从观看视频教程开始,检查IntelliJ IDEA中可用的导航选项。
有关编辑器和工具窗口之间导航的详细信息,请查看 编辑器基础知识。
您可以在“ 项目”工具窗口中自动查找类 。
您可以使用“ 自动滚动到源”和“ 从源操作自动滚动”在“ 项目”工具窗口中找到您的文件 。
在“ 项目”工具窗口中,右键单击“ 项目”工具栏,然后从上下文菜单中选择“ 从源自动滚动”。之后,IntelliJ IDEA将跟踪当前在活动编辑器选项卡中打开的文件,并自动在“ 项目”工具窗口中找到该文件 。
您还可以选择“ 自动滚动到源”选项。在这种情况下,当您单击项目视图中的文件时,IntelliJ IDEA将在编辑器中自动打开它。
要创建匿名书签,请将插入符号放在所需的代码行上,然后按F11。
要使用助记符创建书签,请将插入符号放在所需的代码行上,按下Ctrl+F11并选择助记符的数字或字母。
要显示下一个或上一个书签,请分别按N/A或N/A。
要打开“ 书签”对话框,请按Shift+F11。您可以使用此对话框来管理书签,例如,删除,排序书签或为其提供简要说明。
要导航到带有字母助记符的现有书签,请按 Shift+F11,然后按下您需要的字母。IntelliJ IDEA将您返回编辑器和相应的书签。
要导航到带有数字助记符的现有书签,请按 Ctrl和书签的编号。
每个创建的书签体现在收藏夹 (Alt+2)工具窗口,您还可以使用导航您的书签。
您可以从其用法导航到符号和符号类型的初始声明。
您可以使用装订线图标或按相应的快捷方式跟踪类实现和覆盖方法。
单击其中一个/
,
/
gutter图标,然后从列表中选择所需的上升或后代类。
要导航到超级方法,请按Ctrl+U。
要导航到实施,请按Ctrl+Alt+B。
要导航到上次编辑的位置,请按Ctrl+Shift+Backspace或选择 导航| 主菜单中的上次编辑位置。
IntelliJ IDEA在代码发布之前立即放置插入符号。
要让IntelliJ IDEA跳过警告,信息和其他小问题,请选择 仅转到高优先级问题。
要让IntelliJ IDEA在所有检测到的代码问题之间跳转,请选择 转到下一个问题。
您可以使用结构视图弹出窗口在您正在处理的文件中查找代码元素。
要打开结构视图弹出窗口,请按Ctrl+F12。
在弹出窗口中,您可以对文件成员进行排序,查看匿名类和继承的成员。
镜头模式可让您预览代码而无需实际滚动。将鼠标悬停在滚动条上时,默认情况下该模式在编辑器中可用。
要禁用镜头模式,请右键单击位于编辑器右侧的代码分析标记,然后在上下文菜单中清除滚动条悬停复选框上的显示代码镜头。
或者,在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 一般| 外观 并清除滚动条悬停复选框上的显示代码镜头。
您可以使用在当前打开的文件中显示类,变量,函数,方法和标记名称的痕迹导航来浏览源代码。默认情况下,启用面包屑并显示在编辑器的底部。
要更改面包屑的位置,请右键单击面包屑,在上下文菜单中选择面包屑和位置首选项。
要编辑面包屑设置,请在“ 设置/首选项”对话框(Ctrl+Alt+S)中转到“ 编辑器”| 一般| 面包屑。
清除Show breadcrumbs选项以在编辑器中隐藏面包屑。
使用导航栏作为一个方便的工具来查找整个项目的方式。
按Alt+Home以激活导航栏。
使用箭头键或鼠标指针找到所需的文件。
双击所选文件,或按Enter以在编辑器中将其打开。
在“ 转到行/列”对话框中,指定行号或列号,或两者,用以下内容分隔它们:然后单击“ 确定”。
如果您不想在编辑器中看到行号,请在“ 设置/首选项” 对话框(Ctrl+Alt+S)中转到“ 编辑器”| 一般| 外观 并清除显示行号复选框。
要更快地访问,请为“ 显示行号”操作指定快捷方式。
要在编辑器中查找当前插入符号位置,请按 Ctrl+M>。如果您不想滚动大文件,此操作可能会有所帮助。
但是,您可以按Up和Down箭头键以获得相同的结果。
要在您尝试查找的插入符号上突出显示单词,请选择“ 编辑”| 找到| 从主菜单中找到Caret的Word。
要查看插入符号当前所处的元素,请按Alt+Q。
要查看之前的插入位置,请按Ctrl+Alt+Left。要继续前进,请按Ctrl+Alt+Right。
您也可以选择文本,然后将插入符向前或向后移动到段落。按下Ctrl+Shift+A并搜索Move Caret转发带有选择的段落 或向后移动Caret带有选择动作的段落。
如果需要,您可以为这些操作指定快捷方式。有关详细信息,请参阅 配置键盘快捷键。要在起始和结束代码块括号之间切换,请按 Ctrl+Shift+M。
要在代码块之间导航,请按Ctrl+Shift+[或 Ctrl+Shift+]。
要导航到上次编辑的位置,请按Ctrl+Shift+Backspace。
您可以使用“ 最近的文件”弹出窗口搜索最近和最近编辑的文件。
要使用最近文件列表打开“ 最近使用的文件”弹出窗口,请按Ctrl+E。
要仅查看最近编辑过的文件,请Ctrl+E再次按或选择“ 仅显示更改”复选框。
要在弹出窗口中搜索项目,请开始键入搜索查询。IntelliJ IDEA根据您的搜索显示结果。
您可以使用“ 最近的位置”弹出窗口检查最近访问过的或更改过的代码位置 。
要打开“ 最近的位置”弹出窗口,请按Ctrl+Shift+E。该列表从顶部的最新访问位置开始,包含代码段。
在弹出窗口中,使用相同的快捷方式或选择“ 仅显示已更改”复选框以仅查看已更改代码的位置。
要搜索代码段,请在“ 最近的位置”弹出窗口中,开始键入搜索查询。您可以按代码文本,文件名或面包屑进行搜索。
要从搜索结果中删除位置条目,请按 Delete或Backspace。
请记住,删除的位置也会从您使用Ctrl+Alt+Left快捷方式访问的条目列表中删除。
您可以在编辑器中搜索当前打开的文件中的文本字符串。使用不同的选项,您可以缩小搜索过程范围,在搜索中使用正则表达式,以及管理搜索结果。
IntelliJ IDEA允许您调整搜索过程并使用显示的搜索结果执行各种操作。
如果要查看以前搜索的列表,请Alt+Down在搜索字段中按 。
如果要输入多行字符串,请单击 搜索字段中的 图标以获取新行。
使用和
箭头导航到上一个或下一个匹配项。
使用“ 查找”工具窗口中的出现列表(Alt+F7)列表,其中包含其他选项,例如,对结果进行分组或在单独的窗口中打开它们。
单击或
图标以添加下一个匹配项的选择,或取消选择上一个匹配项(Alt+J或Shift+Alt+J)。
如果要在整个文件中快速替换搜索目标,请按,然后 Ctrl+Shift+Alt+J 键入新字符串。
GIF
当您在搜索窗格中选择“ 单词”,“ 匹配大小写”复选框时,可以缩小搜索范围,或单击过滤器图标以选择搜索范围。
您可以按Alt+X(以前称为Alt+G)快速选择或清除正则表达式复选框。您可以使用 正则表达式 来选择更具挑战性的搜索。
按 Ctrl+F7 查看打开文件中任何元素的用法。
如果您不希望IntelliJ IDEA突出显示文件中的所有已找到的用法,请打开“ 设置/首选项”对话框(Ctrl+Alt+S)和 编辑器| 常规页面清除在插入符选项中突出显示元素的用法。
按Alt+F7以搜索当前文件之外的用法或 Ctrl+Alt+F7在单独的弹出窗口中打开搜索结果。如果需要在搜索之前配置某些选项,请按Ctrl+Shift+Alt+F7以打开“ 查找用户”对话框。
您可以在编辑器中搜索当前打开的文件中的文本字符串。使用不同的选项,您可以缩小搜索过程范围,在搜索中使用正则表达式,以及管理搜索结果。
从主菜单中,选择“ 编辑”| 找到| 在Path (Ctrl+Shift+F)中查找。
在搜索字段中,键入搜索字符串。要查看以前搜索的列表,请按 Alt+Down。
如果需要,请指定其他选项。
IntelliJ IDEA列出搜索字符串和包含它们的文件。
要进行多行搜索,请单击 图标以输入新行,然后按 Ctrl+Alt+Down / Ctrl+Alt+Up 浏览实例。
检查对话框预览区域中的结果,您可以在其中替换搜索字符串或选择其他字符串,再按 Ctrl+Shift+F 一次并开始新的搜索。
如果需要在单独的工具窗口中查看出现的列表,请单击“ 在查找窗口中打开”。您可以使用此窗口及其选项对结果进行分组,预览结果,并进一步使用它们。
您可以在“ 在路径中查找”对话框中使用不同的选项来调整搜索过程。
在“ 在路径中查找”对话框中,选择“ 单词”或“ 匹配大小写”等选项 以查找项目中的确切单词,或匹配字母大小写。
单击图标以过滤搜索。例如,您可以过滤搜索以省略注释或仅在注释中搜索。
选择一个显示的选项(如 模块 或 目录) 以限制搜索。此外,您可以选择“ 范围”选项,该选项为您提供搜索的预定义范围列表。
例如,您可以将搜索范围限制为项目中的打开文件,也可以在类层次结构中进行搜索。
您还可以创建自己的自定义范围,单击
使用“ 文件掩码”选项将搜索范围缩小到特定的文件类型。您可以从列表中选择现有文件类型,添加新文件类型,或添加其他文件掩码语法以搜索具有特定模式的文件类型。
在“ 在路径中查找”对话框中,选择“ 文件掩码”复选框,然后从文件类型列表中选择所需的文件类型。
IntelliJ IDEA将其搜索范围限制为指定的类型。
如果在列表中找不到所需的文件类型,请在“ 文件掩码”字段中输入文件类型。
例如,使用以下语法仅在gradle文件中搜索:* .gradle。
其他 通配符 除了*
支持。您还可以通过用逗号分隔几种文件类型来指定它们。
您可以在整个项目或您设置的范围中搜索符号的用法。
选择要查找其用法的符号。请注意,您也可以将搜索范围扩展到文件用途。
从主菜单中选择 编辑| 找到| 查找用法(Alt+F7)。
在“ 查找”工具窗口中检查结果。
您还可以从先前的“ 查找用法”操作中提取结果。从主菜单中,选择“ 编辑”| 找到| 最近查找用法 和使用情况查询。
在“ 查找”工具窗口中,您可以使用“ 预览”区域检查找到用法的位置,查看方法的调用层次结构,字段的数据流等。
如果IntelliJ IDEA未返回任何结果,则会显示一条消息,建议选择更多选项。您可以点击链接或按 Ctrl+Shift+Alt+F7 以打开“ 查找用户”对话框,您可以在其中设置搜索的新范围。
例如,您可以将搜索范围设置为仅生产文件或仅设置打开文件。要设置自定义范围,请单击。
完成新范围设置后,单击“ 查找”。
如果您希望IntelliJ IDEA在单独的窗口中显示所选符号的用法,请按Ctrl+Alt+F7。您可以使用此窗口进行快速导航。
再次按相同的快捷方式可查看默认范围内的用法。
将插入符号放在符号上时,IDE将突出显示当前文件中此符号的所有用法。使用F3和Shift+F3快捷方式在突出显示的符号之间导航。
如有必要,您可以禁用自动突出显示。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 一般,并清楚 在插入复选框中突出显示元素的用法。
禁用自动突出显示时,将插入符号放在必要的符号上,然后按 Ctrl+Shift+F7。这将突出显示当前文件中符号的所有用法。
如果需要替换搜索字符串,可以使用“ 替换文件”或“ 替换路径”操作。您还可以使用重命名重构。
关于如何使用带有替换的正则表达式,请参阅 查找和替换正则表达式部分。
按Ctrl+R或打开“ 在文件中替换”窗口。
在顶部字段中,输入搜索字符串。在底部字段中,输入替换字符串。
单击
单击“ 替换”逐个替换项目,“ 全部替换”以替换文件中的所有项目,单击“ 排除”以忽略替换中的某些项目。
“ 替换”窗口中显示的选项与“ 查找”窗口类似 ,您可以参考 管理搜索结果部分。
按 Ctrl+Shift+R 以打开“ 在路径中替换”对话框。
在顶部字段中,输入搜索字符串。在底部字段中,输入替换字符串。
例如,如果要使用新项目替换大型项目的变量名称,请使用路径替换而不是重命名重构,因为您的变量也可以出现在配置文件中。
单击其中一个可用的“ 替换”命令。
如果要搜索和替换特定的文本模式,请使用 正则表达式。它们可以帮助您进行模式匹配,解析,结果过滤等。一旦学习了正则表达式语法,就可以将它用于几乎任何语言。
按Ctrl+R以打开搜索和替换窗格。
选择Regex复选框以启用正则表达式语法。如果您需要检查正则表达式语法参考,请单击旁边的问号正则表达式。
在顶部字段中输入搜索字符串,在底部字段中输入替换字符串。
当您搜索元字符,例如 .[{()\^$|?*+
,您需要使用反斜杠(\
)来转义它们,以便可以识别它们。
例如,如果您需要查找.
,请键入\.
搜索字段。
当您在搜索字段中输入一系列字符时,IntelliJ IDEA也可以匹配字母大小写。
例如,如果要仅搜索大写字符,请在搜索字段中键入以下内容:
\b[A-Z]
如果清除匹配大小写复选框,IntelliJ IDEA将搜索大小写和大写。选择“ 匹配大小写”复选框以匹配指定范围的大小写。
浏览事件时,IntelliJ IDEA会显示替换提示,以便您可以在单击“ 替换”按钮之前查看可能的结果。
您可以将正则表达式放在括号中以便对它们进行分组。每个组都有一个以1开头的数字,因此您可以在替换模式中引用(反向引用)它们。请注意,组0指的是整个正则表达式。
我们考虑以下代码:
<new product="ij" category="105" title="Multiline search and replace in the current file"/>
<new product="ij" category="105" title="Improved search and replace in the current file"/>
<new product="ij" category="105" title="Regexp shows replacement preview"/>
...
打开搜索并替换窗格(Ctrl+R)。
在搜索字段中,输入()
表示捕获组的括号 , 例如:
\stitle="(.*)?"\s*(/>*)
在替换字段中,按照以1开头的数字反向引用这些组,例如:
$2<title>$1title>
IntelliJ IDEA根据您的搜索规范突出显示发现的事件,并使用替换字符串显示提示。
您可以使用正则表达式来更改符合某些条件的字符大小写。
打开搜索并替换窗格(Ctrl+R)。确保选中了Regex 复选框。
在搜索字段中输入搜索模式。
在替换字段中,根据您要实现的目标,输入以下语法之一:
\l
将字符更改为小写,直到字符串中的下一个字符。
例如,Bar
成为bar
。
\u
将字符更改为大写,直到字符串中的下一个字符。
例如,bar
成为Bar
。
\L
将字符更改为小写,直到文字字符串(\E
)结束。
例如,BAR
成为bar
。
\U
将字符更改为大写,直到文字字符串(\E
)的结尾。
例如,bar
成为BAR
。
有关更多详细信息, 请参阅RegEx语法参考表。
在PHP上下文中,IntelliJ IDEA将Find Usages功能应用于已实现和重写的方法。让我们考虑以下示例:
创建一个接口,一个实现它的抽象类,以及两个扩展抽象类的类,组织如下:
MyInterface
带有foo()
方法的接口。
抽象类MyAbstractClass
实现 MyInterface
。
一类MyClass
扩展MyAbstractClass
,实现foo()
由接口必需的,并且覆盖父类的方法。
使用委托MyClassWithDelegate
扩展MyClass
和实现的类foo()
。
在$b
和$c
调用变量foo()
从 MyClass
和MyClassWithDelegate
分别为:
<?php
interface MyInterface {
//press Alt-F7 on foo() here
public function foo();
}
abstract class MyAbstractClass implements MyInterface {
public function foo () {
// TODO: Implement foo() method.
}
}
class MyClass extends MyAbstractClass {
public function foo() {
parent::foo();
}
}
class MyClassWithDelegate extends MyClass {
public function foo() {
foo();
}
}
$b = new MyClass(); $b->foo(); $c = new MyClassWithDelegate(); $c->foo();
从MyInterface
,调用查找用法设置为foo()
按Ctrl+Shift+Alt+F7或选择编辑| 找到| 从主菜单中找到用户设置。
在 查找用法。打开的“ 方法选项”对话框,选中“ 包括覆盖/实施方法”复选框,然后单击“ 查找”。
IntelliJ IDEA将找到实现或覆盖基本方法的方法,并在“ 查找”工具窗口中显示它们:
传统的搜索过程不包括源代码的语法和语义。即使您使用正则表达式,IntelliJ IDEA仍会将您的代码视为常规文本。该结构的搜索和替换(SSR)操作,您可以搜索你的代码考虑您的代码结构中的特定代码模式或语法结构。
IntelliJ IDEA根据您创建的搜索模板和 您应用的条件查找并替换源代码片段 。
从主菜单中,选择“ 编辑”| 找到| 搜索结构上开 结构搜索 对话框。
在“ 结构搜索”对话框中,您可以快速切换到“ 结构替换”对话框。单击 并选择“ 切换到替换”。
在“ 结构搜索”对话框中,执行以下操作之一:
从头开始创建自己的模板。
在编辑器区域中,输入代码模式($variable$
代表您的代码),单击,然后选择 保存模板以保存以供将来使用。
IntelliJ IDEA将创建的模板添加到“ 现有模板”对话框中的现有模板列表(“ 用户定义”节点) 。
使用其中一个现有模板作为原型。
单击,选择现有模板以打开预定义模板列表,然后选择适当的模板。
例如,代码中包含以下字段:
public class MainActivity {
public static final String this_is_wrong = "Hello";
public static final String THIS_IS_CORRECT = "world";
}
让我们在课堂上找到一个特定的领域。
在现有模板列表中,单击Java并打开基于类的 节点(因为我们需要类中的字段),因此类 模板的字段将成为我们的目标。
单击“ 确定”返回“ 结构搜索”对话框以使用所选模板。
要 为模板添加一些条件,例如,在编辑器区域中添加一些正则表达式或脚本约束,请将插入符号放在代码项处。将出现带有“ 编辑过滤器”链接的弹出窗口。
单击链接或工具栏上的以打开可添加条件的过滤器区域。
例如,让我们为$Field$
变量添加一个条件。
在过滤器区域中,单击以添加新条件。例如,如果需要添加正则表达式,请选择“ 文本”。您还可以 根据变量添加其他条件。
在打开的字段中,键入您的条件。
例如,让我们输入以下正则表达式:
[a-z]_+[a-z]
在这种情况下,当您在“ 结构搜索”对话框中选中“ 匹配大小写”复选框时 ,IntelliJ IDEA将仅搜索小写单词。
另请注意,默认情况下,会选中“ 递归”复选框。这意味着IntelliJ IDEA执行递归搜索,所有嵌套项都将包含在结果中。例如,当您搜索方法调用时,启用了Recursive选项,IntelliJ IDEA将在其中找到嵌套方法调用foo(foo(foo()))
。禁用“ 递归”选项后,将仅找到外部方法调用。
指定以下选项以进一步缩小搜索范围:
单击查找。
IntelliJ IDEA在“ 查找”工具窗口中显示结果。
您可以将新创建的搜索模板作为自定义模板添加到 结构搜索检查中,稍后再使用它来检查代码。
在某些情况下,您可以使用检查而不是结构搜索和替换。例如,通过结构搜索替换具有接口的类不会修改用法,您需要多次执行搜索和替换。在这种情况下,您可以使用抽象类可能是界面 检查,也将修改抽象类的用法。
从主菜单中,选择“ 编辑”| 找到| 在结构上替换。
在“ 替换结构”对话框中,将新模板或现有模板添加到搜索和替换模板区域。您可以使用与搜索模板相同的方式保存替换模板。
如果需要在替换模板中为变量添加过滤器,请将插入符号放在感兴趣的变量上,然后在出现的弹出窗口中单击“ 编辑过滤器”链接。
在过滤器区域中,根据您选择的 过滤器,指定条件。
要缩小替换结果范围,请选择以下选项:
缩短完全限定名称 - 用短名称和导入替换完全限定的类名。
重新格式化 - 自动格式化替换的代码。
使用静态导入 - 尽可能使用静态导入替换。例如,一个方法调用静态方法Math.abs(i)
变得 abs(i)
如果选择了该选项。
指定必要的选项后,单击“ 查找”。IntelliJ IDEA在“ 查找”工具窗口中显示结果。
在“ 查找”工具窗口中,您可以进一步处理结果,逐个替换找到的项目,一次替换所有项目,或者预览潜在的更改。
您还可以将替换模板添加到 结构搜索检查中, 并将其用作代码的快速修复。
您可以通过导出或导入来与同行共享搜索模板。
在“ 结构搜索”对话框(“ 编辑”|“查找”|“搜索结构”)中, 创建新的搜索模板或使用现有的模板。
要导出模板,请单击并选择“ 将模板导出到剪贴板”。IntelliJ IDEA将模板的XML表示添加到剪贴板(按下Ctrl+Shift+V以查看剪贴板的内容)。您可以在聊天,电子邮件或论坛中与其他开发人员共享此表示。
要导入模板,请Ctrl+C从任何位置(电子邮件,聊天或论坛)复制()共享XML代码,然后在“ 结构搜索”对话框中,单击并选择“ 从剪贴板导入模板”。IntelliJ IDEA接受XML代码表示并将其转换为包含变量和范围的模板(如果存在)。
为结构搜索构造模式时,基本上就是编写脚本。为了简化脚本编写过程,IntelliJ IDEA为您提供了一个预定义搜索模板列表 ,您可以将其用作搜索模式的原型。
有关如何访问现有搜索和替换模板的列表,请参阅 结构搜索和替换部分。
每个搜索或替换模板都包含变量($variable_name$
),您可以在其中添加条件(过滤器)以缩小搜索结果范围。过滤器取决于搜索模板中的变量。
所述计数过滤器指定了出现次数。
例如,在new java.lang.RuntimeException($x$)
搜索模式中,对于$x$
变量,在“ 计数”过滤器字段中指定最小和最大数字。要设置无限制的最大计数,请在过滤器字段中提供空值。
IntelliJ IDEA添加[0,∞]
到变量并搜索指定的数字范围。
“ 参考”过滤器允许您引用变量中的其他搜索模板。
引用将始终包含预配置或保存模式的名称,您可以使用自动完成来填写此字段。
例如,对于$MethodCalls$
变量,请在“ 参考” 过滤器字段中键入带注释的方法。
IntelliJ IDEA搜索带注释的方法的方法调用。
该类型过滤器增加了一个类型的值或表达,预计为指定的变量。
例如,对于$expression$
变量,请int
在“ 类型” 过滤器字段中 键入。
IntelliJ IDEA搜索为整数执行装箱的位置。
在文字过滤器检查对正则表达式或纯文本的变量。
例如,您可以搜索实现特定接口的类。在这种情况下,请在“ 文本”过滤器中添加接口的完全限定名称。
该脚本过滤器添加Groovy脚本约束的搜索模式。 搜索某些语言结构时会使用脚本约束。
例如,具有指定数量参数的构造函数或具有指定可见性修饰符的成员。
可以从脚本约束访问模式中使用的所有变量 。当您向变量添加脚本约束时,IntelliJ IDEA将其与PSI树匹配,此变量实际上是PSI树中的 节点。
比方说,你有一个与方法,toString()
方法相匹配的变量。那么这个变量实际上是一个PsiMethod
节点。检索variable.parent
将生成PsiClass
节点,依此类推。variable.text
然后会给你整个方法的文字。如果您只需要方法的名称,则可以使用variable.name
。
在另一种情况下,结构搜索和替换变量可以匹配某个表达式,例如,对变量的引用,a PsiReferenceExpression
。表达式当然没有名称,但检索表达式的整个文本,将为您提供它所引用的变量的名称。
您可以检查以下现有模板中使用的脚本约束的语法:
带有常量参数的样本方法调用
类
具有无参数构造函数的类
静态字段不是最终的
未实现或扩展的接口
字段/变量读取
已更新给定名称模式的字段/变量
__context__对应于完全匹配变量。
$Statement$;
将出现次数增加到一定数量,您可以找到包含最多指定数量元素的语句序列。
$Instance$.$MethodCall$($Parameter$)
此模板与方法调用表达式匹配。如果出现次数为零,则意味着可以省略方法调用。
@Deprecated
$Instance$.$MethodCall$($Parameter$)
您可以使用此模板查找已弃用的方法,并将其用作创建其他带注释的方法模板的原型。特别是对于搜索方法调用已弃用的方法,您可以选择已经存在的模板方法调用已弃用的方法。
有关如何创建搜索模板,请参阅 结构搜索和替换。
if ($Expr$) {
$ThenStatements$;
}
else {
$ElseStatements$;
}
考虑一个人想找到包含'foo'的评论或文字。搜索模板会像 $SomethingWeWantToFind$
或"$SomethingWeWantToFind$"
。如果想要找到包含某些特定单词的注释/字符串(例如,foo作为单词),则应将其指定为文本约束。
如果想要用try/catch/finally
构造替换语句,可以建议以下一对搜索和替换模板。搜索模板是:
$Statements$;
具有指定为约束的特定最大出现次数。
替换模板是:
try {
$Statements$;
}
catch(Exception ex) {
}
请考虑以下搜索模板:
class $Clazz$ extends $AnotherClass$ {}
要么
class $Clazz$ implements $SomeInterface$ {}
作为变量$ AnotherClass $或$ SomeInterface $的文本约束,指定基类或已实现接口的名称。
要查找相同接口方法的不同实现,请使用以下搜索模板:
class $a$ {
public void $show$();
}
为$show$
变量指定文本约束,并启用选项 此变量是搜索的目标。
IntelliJ IDEA为类的包本地和 实例 字段建议预定义的模板。这些模板使用 @Modifier 注释,当无法使用自然语言表达方式表达搜索目标时,它有助于描述搜索目标。
但是,如果需要搜索包本地方法或实例方法,则必须自己创建相应的搜索模板,并应用@Modifier注释。
要指定使用visibility modifiers package local 和instance查找所有方法的条件 ,请使用以下搜索模板:
class
$Class$ {
@Modifier("packageLocal") @Modifier("Instance" ) $ReturnType$ $MethodName$($ParameterType$ $Parameter$);
}
}
现有示例使用以下模板:
LOG.debug($params$);
放置if('_a) { '_st*; }
位置_a
和_st
变量并 在“约束”字段*
中包含零次或多次出现并选择 “ 完全匹配”变量的“ 反转条件”复选框将导致搜索未包含在语句中的日志记录语句。 if
搜索标签的最简单模板是 <$a$/>
通过在变量上放置约束$a$
,您可以指定要查找的标记。例如,如果指定text / regexp约束app.+
,则会找到名称以其开头的标记app
。
用于搜索XML和HTML的更通用的模板是<$tag$ $attribute$="$value$"/>
通过使用具有正确指定的搜索设置和约束的此模板,您几乎可以找到XML或HTML中可能出现的任何内容。例如,如果width
为变量指定text / regexp约束$attribute$
,则会找到具有该width
属性的所有标记。
您可以通过名称找到项目中或项目外的任何项目。您可以从单个入口点搜索文件,操作,类,符号,设置和UI元素。
按Shift两次打开搜索窗口。默认情况下,IntelliJ IDEA显示最近的文件列表。再次按double Shift或 Alt+N为助记符将选中Include non-project items 复选框,搜索结果列表将扩展到非项目相关项。
按Ctrl+Up或 Ctrl+Down(Cmd+Up/ Cmd+Downon macOS)在各部分之间跳转。
按Tab可将搜索范围切换为类,文件,符号或操作。
GIF
您可以使用以下快捷方式从一开始就打开具有所需范围的搜索窗口:
Ctrl+N - 按名称查找班级。
如果您有一个从项目中排除的目录或文件,IntelliJ IDEA将不会在搜索过程中包含它。
Ctrl+Shift+Alt+N - 找到一个符号。
Ctrl+Shift+A - 按名称查找操作。即使没有映射的快捷方式或显示在菜单中,您也可以找到任何操作。例如,Emacs操作,例如 杀死响铃,粘性选择或饥饿的退格。
要缩小搜索范围,请单击图标并选择相应的选项。
例如,搜索文件时,可以从搜索中排除某些文件类型。
键入/以查看可以快速访问的设置列表。选择您需要的那个,然后按Enter。
因此,IntelliJ IDEA可让您快速访问所选设置及其选项。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 键盘映射”。从右侧的选项中选择Other | 显示颜色选择器。
从上下文菜单中,选择“ 添加缩写”。
在打开的对话框中,指定要使用的缩写,例如cp,然后单击“ 确定”。
现在,当您在搜索字段中键入cp时,IntelliJ IDEA将显示您为其指定缩写的项目。按此Enter按钮访问“ 颜色选择器”对话框。
您可以搜索操作。例如,您可以搜索VCS操作并访问其对话框。
例如,在搜索字段中键入push
。
IntelliJ IDEA 在“ 操作”部分中显示“ 推送 ” 操作以及Ctrl+Shift+K快捷方式,该快捷方式允许您访问“ 推送”对话框。
您可以通过名称找到项目中或项目外的任何项目。您可以从单个入口点搜索文件,操作,类,符号,设置和UI元素。 代码样式设置。
要访问设置,请在“ 设置/首选项” 对话框(Ctrl+Alt+S)中转到“ 编辑器”| 代码风格。
您可以重新格式化代码的一部分,整个文件,文件组,目录和模块。您还可以从重新格式化中排除部分代码或某些文件。
在编辑器中,选择要重新格式化的代码片段。
如果未选择代码片段,IntelliJ IDEA将重新格式化整个文件。
继续按,Shift并为组重新格式化选择其他文件。
有关更多信息,请参阅 Optimize imports 部分。
重新排列条目 - 如果您需要根据代码样式设置中指定的排列规则重新排列代码,请选择此选项。
清理代码 - 选择此选项以运行代码清理检查。
单击确定。
在“ 项目”工具窗口中,右键单击模块或目录,然后从上下文菜单中选择“ 重新格式化代码”或按Ctrl+Alt+L。
您还可以对代码重新格式化应用过滤器,例如指定范围或缩小重新格式化为特定文件类型。
您可以根据指定的设置重新格式化行缩进。
在编辑器中,选择必要的代码片段并按Ctrl+Alt+I。
如果需要调整缩进设置,
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 代码风格。在相应的语言页面上的“ 选项卡和缩进”选项卡上,指定相应的缩进选项,然后单击“ 确定”。
在某些情况下,选项检测并使用现有文件缩进进行编辑,位于文件|中的缩进检测部分 设置/首选项| 编辑| 代码样式可以覆盖您的设置。在这种情况下,IntelliJ IDEA将显示通知。
您可以从重新格式化中排除一组文件或部分代码。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 代码风格。
在“ 格式器控制”选项卡上,选择“ 在注释中启用格式化程序标记”选项。
单击 图标以添加 范围 ,您可以在其中指定要从重新格式化中排除的文件。
如果要从重新格式化中排除部分代码,请在“ 格式化程序控制”选项卡上,选择“ 在注释中启用格式化程序标记”选项。
在编辑器中,在要排除的区域的开头,创建行注释(Ctrl+/)并键入//@formatter:off
,在区域的末尾,再次创建行注释和类型//@formatter:on
。
您可以根据“设置/首选项”中“ 排列”选项卡上设置的排列规则重新排列代码 编辑| 代码风格。
例如,如果需要按字母顺序对代码条目进行排序,请选择相应的 匹配规则条目,并将“ 订单”字段设置 为按名称排序。
在编辑器中,选择要重新排列的代码条目,然后从主菜单中选择 Code | 重新排列代码。
如果您正在使用尚未导入的类,静态方法或静态字段,IDE将显示一个弹出窗口,建议您添加缺少的导入语句,以便您不必手动添加它。按 Alt+Enter 接受该建议。
如果有多个可能的导入源,按下 Alt+Enter 将打开建议列表。
要更改导入弹出窗口的背景颜色,请按,然后 Ctrl+Alt+S 转到 编辑器| 配色方案| 一般| 弹出窗口和提示| 问题提示。
如果没有可供选择的选项,您可以将IDE配置为自动添加import语句。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,单击“ 编辑器”| 一般| 自动导入。
选中“动态添加明确导入”复选框,然后应用更改。
如果粘贴包含对类或静态方法的引用的代码块以及尚未导入的字段,IDE将询问您如何处理这些引用。如果您希望IntelliJ IDEA自动添加缺失的导入,请从粘贴 列表中的 插入导入中选择全部。
单击 右下角状态栏中的 Hector。
清除“ 导入”弹出复选框。
您还可以选择是要显示类的导入弹出窗口还是静态方法和字段的导入弹出窗口:
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,单击“ 编辑器”| 一般| 自动导入。
确保为“ 显示导入”弹出窗口选择了必要的选项以进行设置(默认情况下启用复选框,类和静态方法和字段)。
禁用弹出窗口时,未解析的引用带有下划线并标有红色灯泡图标。要查看建议列表,请单击此图标(或按 Alt+Enter)并选择“ 导入类”。
IntelliJ IDEA建议默认导入单个类。您可以更改设置以导入整个包。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,选择“代码样式” Java | 进口。
清除使用单一类导入复选框,然后应用更改。
当IntelliJ IDEA从同一个包导入的类数达到限制时(5
默认情况下),IDE会修改语句以导入整个包,而不是从此包导入多个单个类。
您可以禁用通配符导入以始终导入单个类:
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,选择“代码样式” Java | 进口。
确保已启用“ 使用单一类导入”选项。
在使用带有'*'和 名称计数的导入的类计数中,使用带有'*'字段的静态导入,指定绝对超过包中类的数量的值以及类中的名称数(例如,999
)。
要在文件中使用单个类导入替换import语句而不更改设置,请将插入符号放在import语句中,按Alt+Enter (或使用意图操作图标),然后选择“ 替换为单个类导入”。
导入建议列表可能包含您不需要的类和包。您可以从自动导入中排除多余条目,以便建议列表仅包含相关项。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,单击“ 编辑器”| 自动导入。
在“ 从导入和完成排除”部分中,单击 (Alt+Insert),然后指定要排除的类或包。
您还可以选择是要从当前项目还是从所有项目(全局)中排除项目。
按下Alt+Enter缺少的类以打开导入建议列表。
单击包旁边的向右箭头,然后选择要排除的项(类或整个包)。
在“ 自动导入” 对话框的“ 从导入和完成排除”部分中,选择是要从当前项目还是从所有项目中排除项目,然后应用更改。
在优化进口功能可帮助您删除未使用的进口,添加缺少的进口,并组织import语句在当前文件或文件中的所有目录中的文件一次。
在“项目”工具窗口中选择文件或目录。
请执行以下任何操作:
从主菜单中,选择Code | 优化进口 (或按Ctrl+Alt+O)。
从上下文菜单中,选择Optimize Imports。
(如果已选择目录)选择是要优化目录中所有文件的导入,还是仅在本地修改的文件中进行导入(如果项目受版本控制),然后单击“运行”。
将插入符号放在import语句中并按 Alt+Enter (或使用意图操作图标)。
选择优化导入。
如果您的项目受版本控制,则可以指示IntelliJ IDEA在将修改后的文件提交到VCS之前优化其中的导入。
从主菜单中,选择VCS | 提交 (或按Ctrl+K)。
在“ 提交更改”对话框的“ 提交前”区域中,选中“ 优化导入”复选框。
当您使用 启用了Optimize imports on the run选项的模板创建类时,IntelliJ IDEA将仅在您重新打开项目后优化此模板的导入。
您还可以配置IDE以自动优化导入。当您在编辑器中工作时,IntelliJ IDEA将删除或修改import语句。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,单击“ 编辑器”| 自动导入。
启用“ 即时优化导入”选项并应用更改。
本节介绍了各种上下文感知代码完成技术,可以加快编码过程。
基本代码完成可帮助您完成可见范围内的类,方法,字段和关键字的名称。当您调用代码完成时,IntelliJ IDEA会分析上下文并建议可从当前插入符号位置访问的选项(建议还包括实时模板)。
如果基本代码完成应用于字段,参数或变量声明的一部分,IntelliJ IDEA会根据项目类型建议可能的名称列表。
第二次调用基本代码完成显示无法访问的类和成员(这些可以通过应用意图操作公开)。
当连续第三次调用时,IntelliJ IDEA将在整个项目中查找类和接口名称的建议,而不考虑依赖性。如果尚未导入必要的类,则会自动导入。
开始输入名称。
按Ctrl+Space或选择代码| 完成| 主菜单中的基本菜单。
如有必要,请再按Ctrl+Space一次(或按Ctrl+Alt+Space)。
这显示了无法访问的类和成员以及静态字段和方法。
当第三次调用时,基本代码完成将建议列表扩展到整个项目中的所有类,而不管依赖性如何。
智能代码完成过滤建议列表,仅显示适用于当前上下文的类型。
在可以确定适当类型的情况下,智能完成非常有用:
在赋值语句的右侧部分
在变量初始化器中
在return
声明中
在方法调用的参数列表中
在new
对象声明中的关键字 之后
在链式表达式中
开始输入。
强调了当前背景下最合适的建议。
对于链式表达式,建议按照它们在项目中的使用频率进行排序。当任何建议的方法调用采用上下文中尚不可用的参数时,在您选择它之后,IDE将定义所需类型的局部变量。
集合,列表和数组。IntelliJ IDEA搜索具有相同组件类型的符号并建议转换它们。
静态方法调用或常量引用。IntelliJ IDEA扫描静态方法和字段,并建议适合当前上下文的方法和字段。
链式表达式的完成仅适用于Java,并且需要使用IntelliJ IDEA编译器(而不是Gradle编译器)构建项目。
您可以使用语句完成来创建语法正确的代码构造。它插入必要的语法元素(括号,大括号和分号),并使您处于可以开始键入下一个语句的位置。
例如,键入表达式
"test"
输入方法调用。当println
获得焦点在建议列表中时,选择它Ctrl+Shift+Enter:
生成的代码如下所示:
System.out.println("test");
嬉皮完成是一个完成引擎,可以在可见范围内分析您的文本,并从当前上下文生成建议。它可以帮助您完成任何当前打开的文件中的任何单词。
键入初始字符串并执行以下操作之一:
按Alt+/或选择代码| 完成| 循环展开Word以在插入符号之前搜索匹配的单词。
按Shift+Alt+/或选择代码| 完成| 循环展开Word(向后) 以在插入符号和其他打开文件之后搜索匹配的单词。
出现第一个建议值,原型在源代码中突出显示。
接受建议,或按住Alt键并继续按,/直到找到所需的单词。
Postfix代码完成可帮助您在编写代码时减少向后插入符号跳转。您可以根据在点,表达式类型及其上下文之后键入的后缀将已键入的表达式转换为其他表达式。
要查看可用后缀模板的完整列表,请在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 一般| 后缀完成。
选择 Tab,, Space或Enter扩展后缀模板。
键入表达式,然后在点后键入后缀,例如, .if
public class Foo { void m(boolean b) { b.if } }
初始表达式包含一个if
语句:
public class Foo {
void m(boolean b) {
if (b) {
}
}
}
要禁用某些后缀完成模板,请在“ 设置/首选项” 对话框(Ctrl+Alt+S)中选择“ 编辑器”| 一般| 后缀完成。
您可以选择 Tab,Space或Enter扩展后缀模板。
您可以编辑预定义的后缀模板,例如,用较短的键替换长键,或者展开适用的表达式类型列表。
在“ 设置/首选项” 对话框(Ctrl+Alt+S)中,转到“ 编辑器”| 一般| 后缀完成。
单击工具栏上的。
指定Key,即将调用模板的符号组合,选择新模板适用的表达式类型,并按以下格式键入目标表达式:$EXPR$
例如,$EXPR$ =!null
。
IntelliJ IDEA自动完成许多文件类型中标记和属性的名称和值:
HTML / XHTML,包括完成CSS类 和JSX中的HTML标记。
XML / XSL
JSP / JSPX
普遍优惠制
JSON,请参阅编辑package.json 以获取详细信息。
标签和属性名称的完成基于与文件关联的DTD或模式。如果没有架构关联,IntelliJ IDEA将使用文件内容(标记和属性名称及其值)来完成输入。
在XML / XSL和JSP / JSPX 文件中,可以完成taglib和命名空间的完成。
按,<然后开始键入标签名称。IntelliJ IDEA显示当前上下文中适合的标记名称列表。
使用ArrowUp和ArrowDown按钮滚动列表。
按此Enter键接受列表中的选择。如果您的文件与架构或DTD相关联,IntelliJ IDEA会根据它自动插入必需属性。
如果需要使用标记库中声明的标记,则需要先导入此taglib,然后才能使用其中的任何自定义标记。
开始输入标签然后按Ctrl+Alt+Space。
从列表中选择一个标签。在uri
它所属的标签库来显示在括号中。
选择所需的标签库,然后按Enter。IntelliJ IDEA添加了所选taglib的声明:
在Settings / Preferences 对话框(Ctrl+Alt+S)中,选择Editor | 一般| 代码完成。
请执行下列操作:
要自动显示建议列表,请选中“ 键入时显示建议”复选框。如果清除该复选框,则必须通过按下Ctrl+Space基本完成或Ctrl+Shift+Space智能完成来显式调用代码完成。
您还可以选择在只有一个选项时自动插入建议:在自动插入单个建议下选择完成类型。
要排序的字母顺序的建议,而不是按相关性排序它们,选择排序建议按字母顺序 复选框。
您还可以通过单击或
分别位于建议列表的右下角来切换这些模式。
如果您希望在建议完成选项时考虑单词大小写,请选择匹配大小写 并选择是仅匹配首字母大小写还是所有字母匹配大小写。
如果你想在文档弹出式窗口中,你把它的滚动的建议列表中每个项目自动显示,选择在显示文档弹出选项。在右侧的字段中,指定延迟(以毫秒为单位),之后应显示弹出窗口。
在Settings / Preferences 对话框中(Ctrl+Alt+S)选择 Editor | 一般| 自动导入。
在“ 从导入和完成时排除”下,添加要从完成中排除的类或包的名称。您在此处指定的课程不会显示在建议列表中。
您还可以在编辑器中显示完成建议时Alt+Enter 选择:按,然后选择从那里排除:
排序图标仅在列表很长时出现,并且不显示仅包含少量条目的列表。
您可以通过键入单词的任何部分(甚至是中间某处的字符)或在点分隔符后调用代码完成来缩小建议列表的范围。IntelliJ IDEA将显示包含您在任何位置输入的字符的建议。
这使得不必使用通配符:
如果是CamelCase或snake_case名称,请仅键入首字母。IntelliJ IDEA自动识别并匹配首字母。
您可以通过以下方式之一接受列表中的建议:
按Enter或双击列表项将其插入插入符号的左侧。
按下Tab以从插入符号右侧替换字符。
使用Ctrl+Shift+Enter使当前代码构造语法正确(平衡括弧,加括号缺失和分号,依此类推)。
您还可以使用特定键插入所选的完成建议:在Settings / Preferences 对话框中(Ctrl+Alt+S)选择Editor | 一般| 代码完成并通过按空格,点或其他上下文相关键选项选择 插入所选建议。这些键取决于语言,您的上下文等。对于Java,这样的键包括Space
,Tab,[
和]
,(
和 )
,和更多一些。
虽然此设置可帮助您节省时间,但将其打开可能会导致项目意外插入。
! 从建议列表中选择后,可以通过按下来取消 Java中的表达式:
结果,表达式将被否定:
如果通过在“ 代码完成设置”页面中键入点,空格等选项来插入所选变体,或者显式调用代码完成,或者明确更改建议列表中的选择,则否定表达式将以此方式工作。
您可以将以下实时模板快捷方式用于最常用的语句之一:
sout
:打印 System.out.printIn()
soutm
:添加当前的类和方法名称
soutp
:添加方法参数名称和值
soutv
:添加最后一个变量值
从建议列表中选择条目后, 您可以查看 代码层次结构:
Ctrl+H:视图类型层次结构
Ctrl+Alt+H:查看调用层次结构。
Ctrl+Shift+H:查看方法层次结构。
如果代码完成不起作用,可能是由于以下原因之一:
在省电模式是(文件|省电模式)。通过消除后台操作(包括错误突出显示,动态检查和代码完成),打开它可以最大限度地降低笔记本电脑的功耗。
未为您的项目配置 JDK 。
您的文件不驻留在内容根目录中,并且未绑定到构建路径,因此它不会获得代码完成所需的必需类定义和资源。
包含要在完成建议列表中显示的类和方法的文件将标记为纯文本文件。
包含要在完成建议列表中显示的方法的外部库不会添加为依赖项或全局库。
IntelliJ IDEA提供了多种方法来生成通用代码构造和重复元素,从而帮助您提高生产力。这些可以是预定义的模板,也可以是自定义模板,它们根据上下文,各种包装器和字符的自动配对而不同地应用。此外,IntelliJ IDEA还提供代码完成和Emmet支持。
在主菜单上,选择Code | Generate(Alt+Insert)打开弹出菜单,其中包含可以生成的可用构造。
IntelliJ IDEA可以生成一个构造函数,该构造函数使用相应参数的值初始化特定的类字段。
在代码菜单上,单击生成(Alt+Insert)。
在“ 生成”弹出窗口中,单击“ 构造函数”。
如果类包含字段,请选择要由构造函数初始化的字段,然后单击“ 确定”。
以下代码片段显示了为类生成构造函数的结果:
public class MyClass {
int aInteger;
double bDouble;
public MyClass(int myAIntegerParam, double myBDoubleParam) {
aInteger = myAIntegerParam;
bDouble = myBDoubleParam;
}
}
IntelliJ IDEA可以生成将行为委托给类的字段或方法的方法。该方法使得可以在不直接暴露该字段或方法的情况下访问字段或方法的数据。
在代码菜单上,单击生成(Alt+Insert)。
在“ 生成”弹出窗口中,单击“ 委派方法”。
选择目标字段或方法,然后单击“ 确定”。
选择要委派的所需方法,然后单击“ 确定”。
以下代码片段显示了在另一个类中委托类的get(i)
方法的结果Calendar
:
Calendar calendar;
public int get(int i) {
return calendar.get(i);
}
IntelliJ IDEA可以为标准equals()
和hashCode()
方法中的定义生成覆盖Java.lang.Object
。
public boolean equals(Object obj)
true
如果作为参数传递给它的对象等于调用此方法的对象,则返回上一个方法。
public int hashCode()
上一个方法返回调用此方法的对象的整数哈希码值。
hashCode()
如果 覆盖,通常需要覆盖该方法,equals()
因为契约hashCode()
是它必须为相等的对象产生相同的结果。有关更多信息,请参阅Java SE的API规范。
在代码菜单上,单击生成(Alt+Insert)。
在Generate弹出窗口中,单击equals()和hashCode()。
如果要接受子类并在代码生成期间使用getter,请选中复选框。您还可以从“ 模板”列表中选择速度模板以生成代码或创建自定义模板。单击下一步。
选择应用于确定相等性的字段,然后单击“ 下一步”。
选择用于计算哈希码值的字段。您只能从上一步中选择的字段中选择(用于确定相等性)。单击下一步。
选择包含非空值的字段。此可选步骤有助于生成的代码避免检查null,从而提高性能。单击完成。
如果类中已覆盖for equals()
和hashCode()
methods方法,则会在生成新的之前提示您是否要删除它们。
以下代码片段显示了覆盖equals()
和hashCode()
方法的结果:
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
FixedRateCurrencyExchangeService that = (FixedRateCurrencyExchangeService) o;
if (Double.compare(that.rate, rate) != 0) return false;
return true;
}
public int hashCode() {
long temp = rate != +0.0d ? Double.doubleToLongBits(rate) : 0L;
return int (temp ^ (temp >>> 32));
}
IntelliJ IDEA可以为类中的字段生成访问器和增变器方法(getter和setter)。根据JavaBeans API的要求,生成的方法只有一个参数。
getter和setter方法名称由IntelliJ IDEA根据您的 代码生成命名首选项生成。
在代码菜单上,单击生成(Alt+Insert)。
在“ 生成”弹出窗口中,单击以下选项之一:
Getter生成访问器方法以获取类字段的当前值。
Setter用于生成用于设置类字段值的mutator方法。
Getter和Setter生成访问器和mutator方法。
选择要为其生成getter或setter的字段,然后单击“ 确定”。
您可以通过单击 并访问“ 获取/设置器模板”对话框来添加自定义getter或setter方法。如果字段不在列表中,则已为其定义相应的getter和setter方法。
以下代码片段显示了为具有一个字段的类生成getter和setter方法的结果var
:
public class MyClass {
int field;
public int getField() {
return field;
}
public void setField(int field) {
this.field = field;
}
}
此功能仅在Ultimate版本中受支持。
以下内容仅在安装并启用PHP插件时有效!
在PHP上下文中,使用PHP getter / setter文件模板生成getter和setter 。默认情况下,如这些模板中所指定的,根据推断的字段类型或,使用set
前缀和带有set
或get
前缀的getter 生成setter 。前缀是默认getter模板中变量的值。默认模板在“ 设置/首选项”对话框的“ 文件和代码模板”页面的“代码”选项卡中配置。boolean
con-boolean
${GET_OR_IS}
IntelliJ IDEA可以为toString()
定义的标准方法生成覆盖Java.lang.Object
。生成的方法返回类的名称和具有当前字段值的类字段名称列表。
在代码菜单上,单击生成(Alt+Insert)。
在Generate弹出窗口中,单击toString()。
配置以下内容:
选择要用于生成toString()
方法的字段。默认情况下,会选择所有可用字段。单击“ 选择无”以添加toString()
仅返回类名的方法。
toString()
从“ 模板”列表中选择生成方法所需的方法。
如有必要,请 选中“ 插入@Override”复选框。有关更多信息,请参阅生成toString()对话框。
单击“ 设置”按钮以打开toString()“生成设置”对话框,您可以在其中调整行为并添加自定义模板。有关更多信息,请参阅生成toString()设置对话框。
单击确定。
如果该toString()
方法已在类中定义,则默认情况下会提示您是否要在继续之前删除此方法。您可以在Generate toString()设置对话框中使用When方法已存在的选项组 来将行为更改为自动替换现有方法或生成重复方法。
以下代码片段显示了toString()
为定义了多个字段的类生成方法的结果:
public class MyClass {
private String name;
private String url;
private int port;
private String[] validIPs;
...
public String toString() {
return "MyClass{" +
"name='" + name + '\'' +
", url='" + url + '\'' +
", port=" + port +
", validIps=" + Arrays.toString(validIps) +
'}';
}
...
}
以下代码检查与toString()
方法有关:
类不覆盖'toString()'方法可用于标识toString()
未定义方法的类 。此检查使用排除设置 忽略具有不应转储的字段的类。另一个设置是使用与其类名匹配的正则表达式排除某些类。默认情况下,这用于排除任何Exception类。
'toString()'方法中未使用的字段可用于标识未在toString()
方法中转储的字段 。例如,如果向类添加了新字段,但忘记将它们添加到toString()
方法中。 更改此检查的严重性以将错误显示为警告。这将突出显示编辑器中任何未使用的字段,并在滚动条上将其位置指示为黄色标记。
用于生成getter和setter方法,以及模板equals()
,hashCode()
和toString()
方法都写在Velocity模板语言。虽然您无法修改预定义模板,但您可以添加自己的自定义模板以实现必要的行为。
IntelliJ IDEA为Velocity模板提供以下变量:
有关代码生成模板变量的更多信息,请参阅源代码。
可以在模板中使用以下变量来生成getter和setter:
变量 |
描述 |
---|---|
$java_version |
Java Runtime Environment(JRE)的当前版本。 |
$class |
目前的班级。 |
$helper |
提供对各种代码生成辅助方法的访问。 |
$settings |
提供根据当前代码样式格式化名称的功能。 |
$field |
生成getter或setter的字段。 |