探索Intellij IDEA àì夳堔傛蜴生んèń 2022-06-14 00:23 106阅读 0赞 此处指导,意与帮助与更有成效的使用Intellij IDEA,提供一个关于窍门、诀窍、快捷键等最重要的特性的总览。 # 用户界面 # Intellij IDEA编辑器在一些方面是特殊的,值得注意的是,大多数情况下,你可以在不离开ide的情况下执行任何ide的特性。为了使你有更大的屏幕空间去组织布局,像工具栏和窗体这种辅助面板默认是被隐藏的。 ![这里写图片描述][SouthEast] 访问工具窗体是通过使快捷键获得输入焦点(使用快捷键),所以,你可以在上下文使用所有的键盘命令,当你需要退出窗体,操作ESC按键即可 下面罗列了一些你可能常常使用到的快捷键: <table> <thead> <tr> <th>工具窗体</th> <th align="center">快捷键</th> </tr> </thead> <tbody> <tr> <td>Project</td> <td align="center">Alt+1</td> </tr> <tr> <td>Version Control</td> <td align="center">Alt+9</td> </tr> <tr> <td>Run</td> <td align="center">Alt+4</td> </tr> <tr> <td>Debug</td> <td align="center">Alt+5</td> </tr> <tr> <td>Terminal</td> <td align="center">Alt+F12</td> </tr> <tr> <td>Editor</td> <td align="center">AltEscape4</td> </tr> </tbody> </table> 如果你只想关注代码,可以尝试使用**自由娱乐模式**,它移除了所有的窗体,工具栏和编辑标签。可以在 View | Enter Distraction Free Mode中切换。 效果如下图 ![这里写图片描述][SouthEast 1] 一种替代**自由娱乐模式**的方式是按ctrl+shift+f12同样可以隐藏所有的工具窗体。你可以再次按下这个快捷键来复原所有布局。 导航栏是一种紧凑的替代项目工具窗体的方式。可以按Alt+home键进入导航栏。 ![这里写图片描述][SouthEast 2] Intellij IDEA的大部分组件(包括工具窗和弹出式)都提供了快速搜索功能。这种特性允许你去过滤列表,或者通过使用搜索查询导航到特殊项目上。 ![这里写图片描述][SouthEast 3] > 当你不知道一个事件的快捷键时,你可以尝试通过使用ctrl+shift+a查找事件特性。开始键入你要查找事件的名字,查看这个事件或者执行它。 > 更多的细节,可以参阅用户界面,编辑器和工具窗指南 # 编辑器基础 # 由于在IntellijIDEA中你可以从本地历史撤销重构和还原变更,它在用户无感知的情况下进行保存更改。 更多有用的快捷编辑器操作如下: <table> <thead> <tr> <th>事件</th> <th align="center">快捷键</th> </tr> </thead> <tbody> <tr> <td>移动当前代码行</td> <td align="center">Ctrl+Shift+Up Ctrl+Shift+Down</td> </tr> <tr> <td>复制一份当前代码</td> <td align="center">Ctrl+D</td> </tr> <tr> <td>删除当前行代码</td> <td align="center">Ctrl+Y</td> </tr> <tr> <td>单行注释/取消注释代码</td> <td align="center">ctrl+/</td> </tr> <tr> <td>多行注释</td> <td align="center">ctrl+shift+/</td> </tr> <tr> <td>在当前文件中查找</td> <td align="center">ctrl+f</td> </tr> <tr> <td>在当前文件中查找和替换</td> <td align="center">ctrl+r</td> </tr> <tr> <td>下次出现</td> <td align="center">F3</td> </tr> <tr> <td>前一次出现</td> <td align="center">shift+F3</td> </tr> <tr> <td>操作被打开的标签</td> <td align="center">Alt+Right Alt+Left</td> </tr> <tr> <td>前进后退操作</td> <td align="center">Ctrl+Alt+Left Ctrl+Alt+Right</td> </tr> <tr> <td>折叠/展开代码块</td> <td align="center">Ctrl+NumPad Plus Ctrl+NumPad -</td> </tr> <tr> <td>创建新的…</td> <td align="center">Alt+Insert</td> </tr> <tr> <td>环绕</td> <td align="center">Ctrl+Alt+T</td> </tr> <tr> <td>高亮符号使用(比如变量使用)</td> <td align="center">Ctrl+F7</td> </tr> </tbody> </table> 代码的扩展和收缩都依赖于语法,对应的按键是ctrl+w和ctrl+shift+w。 Intellij IDEA可以在同一时间选择多个代码块。你可以使用alt+j或shift+alt+j来选择/取消选择代码块(用来更改同一个变量的时候非常有用)。 获得更多细节,请参阅编辑器 ## 代码完成 ## 当你按ctrl+空格时触发基础完成,你得到可用的基础建议的值、类型、方法和表达式等等。如果你操作了两次,它会显示更多结果,包括私有成员和静态成员等. 智能完成特性是预测想要的类型和数据流,提供相关联的选项给上下文,按ctrl+shift+空格触发智能提示.当你执行两个按键,它也会展示更多的结果,包括链. > 在进入字符的时候进行tab按键输入,代替输入的时候智能提示。当你正在编辑一个标识符时非常有用的,比如一个文件名。 > 为了让Intellij IDEA为你提供完整的声明,请按ctrl+shift+enter。完整声明会自动的添加缺失的括号(\{\})和强制的格式化。 > 如果你想查看方法或者构造的建议参数,请按**ctrl+p**。Intellij IDEA会展示每一个构造或者方法的参数信息,并高亮展示分类好的最适合的匹配参数。 > 后缀完成特性让你可以依据你的类型后边后缀.的形式将一个已经存在的表达式转换为另一个(我们平常.的方式修改方法名)。 > 获取更多细节,请参阅自动完成代码 # 导航 # ## 最近文件 ## 大多数时间,你只是在有限的文件集中工作,需要快速的在他们之间进行切换。一个真正节约时间的事件是最近文件(可以按Ctrl+e触发)。默认情况下,焦点会在最后一个操作的文件。注意,你也可以通过这个事件打开其他任意工具窗体。 ![这里写图片描述][SouthEast 4] 当你按ctrl+n时,可以导航到可用的class,并且支持复杂的表达式。包括驼峰,路径,导航线,匹配中间名等等。如果你执行快捷键2次,它会展示项目之外的class文件。 类似的还有ctrl+shift+n,但是他是用在文件和文件夹上。导航到文件夹的话,需要你的表达式以斜杠结尾。 通过ctrl+shift+alt+n,你可以链接到可用的符号,并且允许你通过名字查找到方法和域变量。 ## 体系结构 ## 当你不需要在文件之间来回切换,你很大可能只需要在一个文件中导航,一种简单的方式是通过ctrl+F12,弹窗就会显示文件的体系结构,同时允许你快速的链接到他们中的任意一项。 ![这里写图片描述][SouthEast 5] ## 选择 ## 如果你需要打开一些工具窗体文件,可以通过alt+F1或者select in事件。 ![这里写图片描述][SouthEast 6] 快捷导航包含: <table> <thead> <tr> <th>事件</th> <th align="center">快捷键</th> </tr> </thead> <tbody> <tr> <td>任意查找</td> <td align="center">Double Shift</td> </tr> <tr> <td>导航到class</td> <td align="center">Ctrl+N</td> </tr> <tr> <td>导航到文件</td> <td align="center">Ctrl+Shift+N</td> </tr> <tr> <td>导航到符号</td> <td align="center">Ctrl+Shift+Alt+N</td> </tr> <tr> <td>最近文件</td> <td align="center">Ctrl+E</td> </tr> <tr> <td>文件结构</td> <td align="center">Ctrl+F12</td> </tr> <tr> <td>选择</td> <td align="center">Alt+F1</td> </tr> <tr> <td>导航到声明</td> <td align="center">Ctrl+B</td> </tr> <tr> <td>导航到类型等级</td> <td align="center">Ctrl+H</td> </tr> <tr> <td>展示UML</td> <td align="center">Ctrl+Alt+U</td> </tr> </tbody> </table> 更多请查阅源码导航 ## 快捷窗体 ## 在容器中校验附加信息的时候快捷窗体是非常有帮助的。下面是更多你想要知道的快捷窗体列表。 <table> <thead> <tr> <th>事件</th> <th align="center">快捷键</th> </tr> </thead> <tbody> <tr> <td>文档</td> <td align="center">Ctrl+Q</td> </tr> <tr> <td>快速定义(变量是如何定义的)</td> <td align="center">Ctrl+Shift+I</td> </tr> <tr> <td>展示调用列表</td> <td align="center">Ctrl+Alt+F7</td> </tr> <tr> <td>展示实现类列表</td> <td align="center">Ctrl+Alt+B</td> </tr> </tbody> </table> > 在编辑器中,快捷窗体同样适用于符号变量,通过同样快捷的任意其他集合组,也是同样可用的。 ## 重构基础 ## Intellij IDEA提供了一套功能强大的,综合性自动化重构集,它会引导你正确的使用。首先,当你想重构时你不要烦恼。因为IDEA足够聪明,可以帮你估算出哪里的语法需要重构,并且只有在一些可许可范围内通知确认。 > 撤销重构的方式是:选择项目工具窗,按键ctrl+z即可 <table> <thead> <tr> <th>事件</th> <th align="center">快捷键</th> </tr> </thead> <tbody> <tr> <td>重命名</td> <td align="center">Shift+F6</td> </tr> <tr> <td>提取变量</td> <td align="center">Ctrl+Alt+V</td> </tr> <tr> <td>提取Field</td> <td align="center">Ctrl+Alt+F</td> </tr> <tr> <td>提取常量</td> <td align="center">Ctrl+Alt+C</td> </tr> <tr> <td>提取方法</td> <td align="center">Ctrl+Alt+M</td> </tr> <tr> <td>提取参数</td> <td align="center">Ctrl+Alt+P</td> </tr> <tr> <td>内联</td> <td align="center">Ctrl+Alt+N</td> </tr> <tr> <td>复制</td> <td align="center">F5</td> </tr> <tr> <td>移动</td> <td align="center">F6</td> </tr> <tr> <td><strong>重构此处</strong></td> <td align="center">Ctrl+Shift+Alt+T</td> </tr> </tbody> </table> > 更加节约时间的方式是通过选择代码块,并配合快捷键进行重构。 ## 探测使用 ## 探测使用帮助你快速的定位符号在代码中的所有的引用,不管是类,方法,field,参数或者其他语法。只需要按键Alt+F7,就能获得一个以类型、模块、文件分组的引用列表。 如果你想要定制规则,按键ctrl+shift+alt+F7,如果你想要查找纯文本,使用ctrl+shift+F 更多细节请查阅探测使用 ## 检查 ## 检查是内置的分析静态代码的工具,可以帮助你查找可能的bug,定位死代码,探测发现问题和改善代码结构.大多数情况下不仅仅告诉你问题在哪,也提供快捷的正确的修复问题.按键alt+enter去选择一个快速修复方式. > 编辑器允许你通过快捷键快速的导航高亮的问题.按F2可以定位到下一个问题,同时你可以通过shift+f2定位到上一个问题. > 当你对所有项目执行代码分析时,检查的过程是非常复杂的.你可以选择下面两种方式之一:通过从主菜单选择Analyze|Inspect Code或者选Analyze | Run Inspection by name择的方式通过它的名字进行检查. > 所有的检查提供了对那些可能的问题的快速修复方式.帮助你自动的正确的更改.通过alt+enter你可以得到一个代码检查视图列表. ## 代码样式和格式化 ## Intellij IDEA自动应用你在代码样式设置中配置的代码样式,大多数情况下,你不需要显式的调用代码格式化事件. 有用的格式化快捷键: <table> <thead> <tr> <th>事件</th> <th align="center">快捷键</th> </tr> </thead> <tbody> <tr> <td>格式化代码</td> <td align="center">Ctrl+Alt+L</td> </tr> <tr> <td>自动行缩进</td> <td align="center">Ctrl+Alt+I</td> </tr> <tr> <td>优化导入</td> <td align="center">Ctrl+Alt+O</td> </tr> </tbody> </table> 注意:默认情况下,Intellij IDEA使用有规律的缩进代表制表符.如果你有文件拥有很多缩进,你可能需要通过设置java代码样式设置中的Use Tab character来设置他们的尺寸. ## 版本控制基础 ## 你可以通过点击欢迎屏幕的Checkout from Version Control 或者点击主VCS菜单,从版本控制系统中检出一个项目.使用alt+~的弹窗式VCS操作,可以快速的在当前文件目录或者整个项目执行VCS操作. ![这里写图片描述][SouthEast 7] 如果你设置了版本控制配置,你讲可以看到版本控制工具窗.你可以在任何时候通过alt+9的方式切换。版本控制工具中的本地变化标签展示你的本地更改:阶段性和非阶段性的 ### 有用的版本控制系统快捷键 ### <table> <thead> <tr> <th>事件</th> <th align="center">快捷键</th> </tr> </thead> <tbody> <tr> <td>版本控制工具窗体</td> <td align="center">Alt+9</td> </tr> <tr> <td>弹出式VCS操作</td> <td align="center">Alt+~</td> </tr> <tr> <td>提交变动</td> <td align="center">Ctrl+K</td> </tr> <tr> <td>更新项目</td> <td align="center">Ctrl+T</td> </tr> <tr> <td>推送变动</td> <td align="center">Ctrl+Shift+K</td> </tr> </tbody> </table> > annotation 选项使你能够看到文件任意行的变更时间和人。 ## 分支 ## 选择vcs的branches或者语境中的菜单(VCS弹窗选项),或者右边的状态栏,都可以达到分支操作的目的。 注意:对于多仓库来说,Intellij IDEA可以同时对所有分支进行vcs操作,你不需要手动的切换。 架子(shelves)、藏匿(stashes)、补丁(patches)可以帮助你存储本地的那些你不想提交的更改。之后你可以切换文件控制版本,最后再还原本地的更改即可。 ## 构成 ## 默认情况下,Intellij IDEA在保存的时候不会自动编译项目。如果想编译,你可以通过在主菜单选择build|make project,或者按键Ctrl+F9。 ## 运行和调试 ## 如果你已经通过选择主菜单的Run | Edit Configurations 配置了一个运行或调试配置,那么你就可以运行或调试你的代码了。 <table> <thead> <tr> <th>事件</th> <th align="center">快捷键</th> </tr> </thead> <tbody> <tr> <td>Run</td> <td align="center">Shift+F10</td> </tr> <tr> <td>Debug</td> <td align="center">Shift+F9</td> </tr> </tbody> </table> 在调试模式下,通过按键Alt+F8,你可以通过表达式工具获取到任意表达式的值。这个工具也提供了代码完成功能,所以你可以非常容易的的键入表达式。 有时候,你想要进入一些方法(但并不是第一个被执行的)。这种情况下,你可以按键Shift+F7来选择方法。 <table> <thead> <tr> <th>事件</th> <th align="center">快捷键</th> </tr> </thead> <tbody> <tr> <td>Toggle breakpoint(切换断点)</td> <td align="center">Ctrl+F8</td> </tr> <tr> <td>Step into(步入)</td> <td align="center">F7</td> </tr> <tr> <td>Smart step into(快速步入)</td> <td align="center">Shift+F7</td> </tr> <tr> <td>Step over(下一步)</td> <td align="center">F8</td> </tr> <tr> <td>Step out(跳出当前执行体)</td> <td align="center">Shift+F8</td> </tr> <tr> <td>Resume(重新开始)</td> <td align="center">F9</td> </tr> <tr> <td>Evaluate expression(表达式求值)</td> <td align="center">alt+F8</td> </tr> </tbody> </table> 如果在调试的时候,你想**回退**,可以通过配合alt+上述的步入键进行处理。在你操作太快的时候,这种方式也许对你会有些帮助。注意,他不会还原你程序中的一些全局状态,但是可以还原上一个堆栈信息。 > 通过按键Ctrl+Shift+F8可以快速的禁用所有的断点。 ## 重载改变和热交换 ## 有些时候,你需要在不终止进程的情况下,在代码中插入少量的更改,由于jvm有热交换(HotSwap)的特性,所以Intellij IDEA会在你Make项目的时候自动帮你处理这些事情。 ## 应用服务 ## 将你的应用部署到服务器中: 1. 2. 通过File | Project Structure | Artifacts 来配置Artifacts 3. 通过点击Application Servers来配置你的服务器信息。 4. 通过 Run | Edit Configurations来配置运行配置,选择要部署的特定的artifacts。 通过选择Build | Build Artifacts来通知Intellij IDEA构建或者重构你的Artifacts 。 > 如果你想在一个正在运行的项目中提交你的更改,除了使用make以外,你还可以使用ctrl+f9的更新事件。但是这个事件只针对Exploded artifact类型有用。依据自己的情况,可以选择update resources 或者 update classes and resources。当更新事件是在Debug模式下,会使用hotSwap,否则使用热部署。 ## 使用构建工具(maven、Gradle) ## 一旦你导入或者建立了maven/Gradle项目,你就可以在编辑器里面免费的编辑它的Pom.xml或build.gradle文件。任何潜在的构建配置终将同步到项目模块中去。 如果你想IDE立刻同步这些改变,做下面的操作: 对pom.xml文件来说,在 **File | Settings | Build, Execution, Deployment | Build Tools | Maven | Importing (Windows and Linux)** 或者**IntelliJ IDEA | Preferences | Build, Execution, Deployment | Build Tools | Maven | Importing (macOS)**.中开启maven项目自动导入(Import Maven projects automatically)。 对于build.gradle来说,在 **Build, Execution, Deployment | Build Tools | Gradle**中开启使用自动导入(Use auto-import). 当然,你也可以右键文件,选择同步**Synchronize XX**文件。 ## 从Eclipse或者NetBeans迁移 ## 如果你考虑迁移eclipse或NetBeans项目到Intellij IDEA的可能性,请参阅迁移向导eclipse和NetBeans [SouthEast]: /images/20220614/901086305031421c9b72f3a54a7f06ac.png [SouthEast 1]: /images/20220614/d5b0792197f74998a04cf247b0f4ff0c.png [SouthEast 2]: /images/20220614/888d42ce01a846c38c8aa93e6ee69dd0.png [SouthEast 3]: /images/20220614/77c60d7b6c03481d97942e973279e9e4.png [SouthEast 4]: /images/20220614/990c5d4ab7074e04876518d173c44de5.png [SouthEast 5]: /images/20220614/68e9c78c78bd4c6fa1f15a788119c164.png [SouthEast 6]: /images/20220614/6fc4b11e37294f1797d2ef338fb04bcf.png [SouthEast 7]: /images/20220614/c49e3a6ddce349d3a527342c8fd287bb.png
还没有评论,来说两句吧...