从 Eclipse 迁移到 IntelliJ IDEA
最后修改时间:2023年9月25日从Eclipse切换到 IntelliJ IDEA,特别是如果您已经使用Eclipse很长时间,需要了解这两个 IDE 之间的一些根本区别,包括它们的用户界面、编译方法、快捷键方式、项目配置等方面。
将Eclipse项目导入IntelliJ IDEA
您可以导入Eclipse工作区或单个Eclipse项目。此时,请点击按钮屏幕上的“打开”或选择“文件”|“在主菜单中打开。
IntelliJ IDEA 会自动检测位于您计算机上的 Eclipse 项目,并将它们放置在欢迎屏幕上的私有节点中。该节点将在最近的可用节点中,直到您决定将其删除。当 Eclipse 项目在节点中时,只需点击它即可在IDE中快速打开它。
如果您的项目使用Maven或Gradle等构建工具,我们建议在导入项目时选择关联的构建文件pom.xml或build.gradle 。有关导入项目的更多信息,请参阅Eclipse 导入项目。
如果您想从Eclipse导入现有的运行配置,请考虑使用此第三方插件。
用户界面
没有工作空间
启动 IntelliJ IDEA 时您会注意到的第一件事是它没有工作区概念。这意味着您一次只能处理一个项目。在Eclipse中,您通常有一组可能相互依赖的项目,而在 IntelliJ IDEA 中,您有一个由一组模块组成的项目。
如果您有多个不相关的项目,可以在单独的窗口中打开它们。
如果您仍然想在一个窗口中打开多个不相关的项目,作为一种解决方法,您可以将它们配置为模块。
IntelliJ IDEA 与 Eclipse 术语
下面比较了Eclipse和IntelliJ IDEA中的术语:
蚀 | IntelliJ IDEA |
---|---|
工作空间 | 项目 |
项目 | 模块 |
刻面 | 刻面 |
图书馆 | 图书馆 |
JRE | 软件开发工具包 |
类路径变量 | 路径变量 |
没有观点
当您切换到 IntelliJ IDEA 时,第二个大惊喜是它没有视角。
这意味着您需要手动在不同的工作区布局之间切换来执行不同的任务。IDE会根据您的上下文自动显示相关工具。
工具窗口
就像在Eclipse中一样,在IntelliJ IDEA中您也有工具窗口。要打开工具窗口,请在工具窗口栏中单击其名称:
如果工具窗口栏被隐藏,您可以通过将鼠标悬停在左下角相应的图标上来打开任何工具窗口:
如果您想让工具窗口栏暂时可见,可以按两个并按住它。Alt
如果您不想使用鼠标,则可以随时通过按指定的快捷方式切换到任何工具栏。要记住最重要的键盘是:
项目:Alt01
犯罪:Alt00
终端:AltF12
关于工具窗口的另一件事是您可以拖动、固定、取消固定、附加和分离它们:
为了帮助存储/恢复工具窗口布局,有几个有用的命令:
窗口|布局|将当前布局另存为新布局:将排列另存为新布局。
窗口|布局|当前恢复布局:重置当前布局中的更改。(也可通过)ShiftF12
有关更多信息,请参阅布局。
多个窗口
IntelliJ IDEA 中的 Windows 管理与 Eclipse截然不同。您无法在一个项目中打开多个窗口,但您可以将任意数量的编辑器选项卡分离到单独的窗口中。
每次选择打开的文件
默认情况下,当您在编辑器选项卡之间切换时,IntelliJ IDEA 不会更改项目工具窗口中的选择。但是,您可以在项目工具窗口设置中启用它:
一般工作流程
没有“保存”按钮
IntelliJ IDEA 没有“保存”按钮。由于在 IntelliJ IDEA 中,您可以撤消并重建恢复本地历史记录中的更改,因此每次都要求您保存更改是没有意义的。
意思是,物理保存到磁盘是由某些事件触发的,包括编译、关闭文件、将焦点从 IDE 中切换出来等等。您可以通过设置/首选项 | 更改此行为外观与其他行为|系统设置:
保存操作
如果您是经验丰富的 Eclipse 用户,您会熟悉保存操作:保存时自动触发的操作,例如重新整理代码、组织导入等。
IntelliJ IDEA还具有保存操作功能,您可以在“设置/首选项|”中找到并启用这些操作。工具|保存操作。
最重要的是,IntelliJ IDEA 允许您在提交时自动运行相应的操作:
或者手动:
代码| 重新格式化代码 CtrlAlt0L
代码| 优化进口 CtrlAlt0O
代码| 代码清理
汇编
IntelliJ IDEA 编译项目的方式在很多方面与Eclipse不同。
自动编译
默认情况下,IntelliJ IDEA 不会在保存时自动编译项目,因为通常我们不会在 IntelliJ IDEA 中显式调用保存操作。
如果您想模仿Eclipse行为,您可以调用“构建项目”操作- 它将保存更改的文件并编译它们。CtrlF9
您还可以在设置/首选项 |中启用构建项目保存操作。工具| 保存操作。
请注意,IntelliJ IDEA 中的自动编译与Eclipse中的自动编译不同。在Eclipse中,它不是完全自动的,因为它是由用户显式调用的保存操作触发的,而在 IntelliJ IDEA 中,当您在编辑器中键入时,它会隐式调用。
这就是为什么即使启用了“构建项目”选项,如果至少有一个应用程序正在运行,IntelliJ IDEA 也不会执行自动编译:它会隐式地重新加载应用程序中的类。在这种情况下,您可以调用Build | 构建项目 。CtrlF9
问题工具窗口
Eclipse编译器
Eclipse使用自己的编译器,而 IntelliJ IDEA 使用与项目 JDK 捆绑在一起的javac编译器。如果必须使用Eclipse编译器,请导航至“Settings”|“Eclipse”。偏好 | 构建、执行、部署 | 编译器| Java编译器并选择它,如下图所示:
Eclipse和javac编译器之间的最大区别是Eclipse编译器对错误的容忍度更高,有时会让您运行无法编译的代码。
当您需要在 IntelliJ IDEA 中运行有编译错误的代码时,请将运行配置中的Build选项替换为Build, no error check:
快捷方式
IntelliJ IDEA 快捷方式与Eclipse中的快捷方式完全不同。
下表显示了顶级Eclipse操作(及其快捷方式)如何映射到 IntelliJ IDEA(您可能需要将其打印出来以便随时使用)。
笔记
如果您选择特定于您的操作系统的键盘映射(Windows/Linux 的默认键映射或 macOS 的macOS),IntelliJ IDEA 中使用的快捷方式与您的操作系统之间可能会发生冲突。为了避免此类冲突,我们建议调整您的操作系统快捷方式设置(有关更多详细信息,请参阅键盘映射)。
蚀 | IntelliJ IDEA | ||
---|---|---|---|
行动 | 捷径 | 行动 | 捷径 |
代码完成 | CtrlSpace | 基本完成 | CtrlSpace |
- | - | 类型匹配完成 | CtrlShiftSpace |
- | - | 报表完成 | CtrlShiftEnter |
快速访问 | Ctrl+3 | 到处搜索 | 双倍的Shift |
最大化活动视图或编辑器 | Ctrl+M | 隐藏所有工具窗口 | CtrlShiftF12 |
开放式 | Ctrl+Shift+T | 导航至班级 | Ctrl0N |
开放资源 | Ctrl+Shift+R | 导航至文件 | CtrlShift0N |
- | - | 导航至符号 | CtrlAltShift0N |
下一个视图 | Ctrl+F7 | - | - |
- | - | 最近的文件 | Ctrl0E |
快速提纲 | Ctrl+O | 文件结构 | CtrlF12 |
移动线 | Alt+Up/Down | 移动线 | AltShift0↑/AltShift0↓ |
删除行 | Ctrl+D | 删除行 | Ctrl0Y |
快速解决 | Ctrl+1 | 表现意图行动 | AltEnter |
快速切换编辑器 | Ctrl+E | 切换器 | CtrlShiftTab |
- | - | 最近的文件 | Ctrl0E |
快速层次结构 | Ctrl+T | 导航至类型层次结构 | Ctrl0H |
- | - | 导航到方法层次结构 | CtrlShift0H |
- | - | 显示 UML 弹出窗口 | CtrlAlt0U |
最后编辑位置 | Ctrl+Q | 最后编辑位置 | CtrlShiftBackspace |
下一位编辑 | Ctrl+F6 | 选择下一个选项卡 | Alt0→ |
跑步 | Ctrl+Shift+F11 | 跑步 | ShiftF10 |
调试 | Ctrl+F11 | 调试 | ShiftF9 |
正确的缩进 | Ctrl+I | 自动缩进行 | CtrlAlt0I |
格式 | Ctrl+Shift+F | 重新格式化代码 | CtrlAlt0L |
环绕着 | Ctrl+Alt+Z | 环绕着 | CtrlAlt0T |
- | - | 围绕实时模板 | CtrlAlt0J |
公开声明 | F3 | 导航至声明 | Ctrl0B |
- | - | 快速定义 | CtrlShift0I |
开放类型层次结构 | F4 | 导航至类型层次结构 | Ctrl0H |
- | - | 显示 UML 弹出窗口 | CtrlAlt0U |
工作区中的引用 | Ctrl+Shift+G | 查找用法 | AltF7 |
- | - | 显示用法 | CtrlAltF7 |
- | - | 查找使用设置 | CtrlAltShiftF7 |
打开搜索对话框 | Ctrl+H | 在文件中查找 | CtrlShift0F |
文件中出现的情况 | Alt+Ctrl+U | 突出显示文件中的用法 | CtrlShiftF7 |
复制行 | Ctrl+Alt+Down | 重复行 | Ctrl0D |
提取局部变量 | Ctrl+Alt+L | 提取变量 | CtrlAlt0V |
分配给字段 | Ctrl+2/Ctrl+F | 提取字段 | CtrlAlt0F |
显示重构快捷菜单 | Ctrl+Alt+T | 重构这个 | CtrlAltShift0T |
改名 | Ctrl+Alt+R | 改名 | ShiftF6 |
前往线路 | Ctrl+L | 导航至行 | Ctrl0G |
结构化选择 | Alt+Shift+Up/Alt+Shift+Down | 选择插入符号处的单词 | Ctrl0W/CtrlShift0W |
找下一个 | Ctrl+J | 找下一个 | F3 |
显示 | Ctrl+Alt+W | 选择于 | AltF1 |
后退 | Ctrl+[ | 后退 | CtrlAlt0← |
向前 | Ctrl+] | 向前 | CtrlAlt0→ |
Eclipse 键盘映射
对于不想学习新快捷键的Eclipse用户,IntelliJ IDEA 提供了与其快捷键非常相似的Eclipse键盘映射:
寻找行动
当您不知道某些操作的快捷方式时,请尝试使用通过 提供的“查找操作”功能。开始键入以按名称查找操作、查看其快捷方式或调用它:CtrlShift0A
编码协助
Eclipse和 IntelliJ IDEA都提供编码辅助功能,例如代码完成、代码生成、快速修复、实时模板等。
快速修复
要在 IntelliJ IDEA 中应用快速修复,请按:AltEnter
所有快速修复均基于“设置/首选项 |”中配置的检查。编辑| 检查:
如果您想一次将快速修复应用于多个位置(即整个文件夹、模块甚至项目),您可以通过 Code | 运行相应的检查来完成此操作。分析代码 | 按名称运行检查...或通过代码 |运行整批检查 正在使用配置文件“{0}”运行代码清理...:
除了直接的问题之外,IntelliJ IDEA 还可以识别可以通过所谓的意图(也可以使用)来改进或优化的代码结构:AltEnter
蚀 | IntelliJ IDEA | ||
---|---|---|---|
行动 | 捷径 | 行动 | 捷径 |
快速解决 | Ctrl+1 | 表现意图行动 | AltEnter |
生成代码
生成代码的关键动作是Code | 生成,可通过:AltInsert
此操作是上下文相关的,不仅在编辑器中可用,而且在项目工具窗口和导航栏中也可用:
代码完成
IntelliJ IDEA 提供不同类型的代码完成,其中包括:
基本完成
第二次基本完成
类型匹配完成
第二次类型匹配完成
报表完成
有关这些完成类型之间的差异的更多信息,请参阅代码完成博客文章。
默认情况下,IntelliJ IDEA 不会显示所选项目的文档弹出窗口,但您可以在“设置/首选项 |”中启用它。编辑| 代码完成 | 显示文档弹出窗口:
如果您不想启用此选项,您可以在需要时按以下按钮手动调用此弹出窗口:Ctrl0Q
当插入符号位于方法或构造函数的括号内时,您可以通过调用Parameter Info来获取有关参数的信息:Ctrl0P
蚀 | IntelliJ IDEA | ||
---|---|---|---|
行动 | 捷径 | 行动 | 捷径 |
代码完成 | Ctrl+Space | 基本完成 | CtrlSpace |
- | - | 类型匹配完成 | CtrlShiftSpace |
- | - | 报表完成 | CtrlShiftEnter |
模板
您可能习惯于main
在编辑器中键入内容,然后调用代码完成将其转换为主方法定义。然而,IntelliJ IDEA 模板有点不同:
模板 | 蚀 | IntelliJ IDEA |
---|---|---|
定义一个main方法 |
|
|
迭代数组 |
|
|
迭代集合 |
|
|
迭代列表 |
|
|
使用 foreach 语法迭代可迭代对象 |
|
|
打印到 System.out |
|
|
打印到 System.err |
|
|
定义静态字段 |
|
|
可用模板的列表可以在“设置”|“设置”中找到。编辑| 实时模板。您还可以在其中添加自己的模板或修改任何现有模板。
后缀模板
除了“常规”模板之外,IntelliJ IDEA 还提供所谓的后缀模板。当您想要将模板应用于已键入的表达式时,它们非常有用。例如,输入变量名称,添加.ifn
并按。IntelliJ IDEA 会将您的表达变成语句。Tabif (...==null){...}
要查看可用后缀模板的完整列表,请转至设置 | 编辑| 一般| 后缀完成。
围绕实时模板
带模板的环绕是另一个附加功能,其工作方式与实时模板类似,但可以使用.CtrlAlt0J
要使用模板定义您自己的环绕声,请转至设置| 编辑| 实时模板$SELECTION$
并在模板文本中使用:
$LOCK$.readLock().lock();
try {
$SELECTION$
} finally {
$LOCK$.readLock().unlock();
}
重构
下表将Eclipse中最常见重构的快捷方式与 IntelliJ IDEA 中的快捷方式对应起来:
蚀 | IntelliJ IDEA | ||
---|---|---|---|
行动 | 捷径 | 行动 | 捷径 |
提取局部变量 | Ctrl+Alt+L | 提取变量 | CtrlAlt0V |
分配给字段 | Ctrl+2 | 提取字段 | CtrlAlt0F |
显示重构快捷菜单 | Alt+Shift+T | 重构这个 | CtrlAltShift0T |
改名 | Ctrl+Alt+R | 改名 | ShiftF6 |
有关 IntelliJ IDEA 提供的许多其他重构的更多信息,请参阅IntelliJ IDEA 中的 Top 20 Refactoring Features
撤消
有时,重构可能会影响项目中的许多文件。IntelliJ IDEA 不仅负责安全地应用更改,还允许您恢复它们。要撤消上次重构,请将焦点切换到项目工具窗口并按。Ctrl0Z
搜索
下面是最常见的搜索操作和快捷方式的地图:
蚀 | IntelliJ IDEA | ||
---|---|---|---|
行动 | 捷径 | 行动 | 捷径 |
打开搜索对话框 | Ctrl+H | 在文件中查找 | CtrlShift0F |
工作区中的引用 | Ctrl+Shift+G | 查找用法 | AltF7 |
- | - | 显示用法 | CtrlAltF7 |
- | - | 查找使用设置 | CtrlAltShiftF7 |
文件中出现的情况 | Alt+Ctrl+U | 突出显示文件中的用法 | CtrlF7 |
导航
下表粗略地映射了Eclipse中可用的导航操作与 IntelliJ IDEA 中的导航操作:
蚀 | IntelliJ IDEA | ||
---|---|---|---|
行动 | 捷径 | 行动 | 捷径 |
快速访问 | Ctrl+3 | 到处搜索 | 双倍的Shift |
开放式 | Ctrl+Shift+T | 导航至班级 | Ctrl0N |
开放资源 | Ctrl+Shift+R | 导航至文件 | CtrlShift0N |
- | - | 导航至符号 | CtrlAltShift0N |
快速切换编辑器 | Ctrl+E | 切换器 | CtrlTab |
- | - | 最近的文件 | Ctrl0E |
公开声明 | F3 | 导航至声明 | Ctrl0B |
开放类型层次结构 | F4 | 导航至类型层次结构 | Ctrl0H |
- | - | 显示 UML 弹出窗口 | CtrlAlt0U |
快速提纲 | Ctrl+O | 文件结构 | CtrlF12 |
后退 | Ctrl+[ | 后退 | CtrlAlt0← |
向前 | Ctrl+] | 向前 | CtrlAlt0→ |
稍后,当您习惯了这些导航选项并需要更多选项时,请参阅IntelliJ IDEA 快捷键中的前 5 个导航键盘快捷键。
调用层次结构
IntelliJ IDEA 和 Eclipse 都提供了允许您检查层次结构并探索源文件结构的功能。例如,“调用层次结构”功能向您显示所选方法的所有调用者和被调用者。
在 Eclipse 中,您可以通过按 来访问它Ctrl+Alt+H。在 IntelliJ IDEA 中,使用快捷方式。CtrlAlt0H
除了调用层次结构之外,IntelliJ IDEA 还可以构建方法层次结构 ( ) 和类型层次结构 ( )。您可以在源代码层次结构中找到更多信息。CtrlShift0HCtrl0H
代码格式化
IntelliJ IDEA 代码格式化规则(可通过Settings | Editor | Code Style获得)与Eclipse中的类似,但有一些细微差别。您可能需要注意,默认情况下禁用“使用制表符”选项,缩进大小可能不同等。
如果您想导入Eclipse格式化程序设置,请转至设置 | 编辑| 代码风格| Java,单击,单击导入方案并选择导出的Eclipse格式化程序设置(XML 文件)。
请注意,IntelliJ IDEA 和Eclipse中的代码样式设置之间可能存在一些差异。例如,您不能告诉 IntelliJ IDEA 在后面(但不能在前面)放置空格。如果您希望 IntelliJ IDEA 使用Eclipse格式化程序,请考虑安装Eclipse 代码格式化程序插件。
蚀 | IntelliJ IDEA | ||
---|---|---|---|
行动 | 捷径 | 行动 | 捷径 |
格式 | Ctrl+Shift+F | 重新格式化代码 | CtrlAlt0L |
运行并重新加载更改
与Eclipse类似,IntelliJ IDEA 也具有运行/调试配置对话框,您可以从主工具栏或主菜单访问该对话框。比较相关快捷键:
蚀 | IntelliJ IDEA | ||
---|---|---|---|
行动 | 捷径 | 行动 | 捷径 |
跑步 | Ctrl+Shift+F11 | 跑步 | ShiftF10 |
调试 | Ctrl+F11 | 调试 | ShiftF9 |
- | - | 制作 | CtrlF9 |
- | - | 更新应用程序 | CtrlF10 |
如前所述,默认情况下 IntelliJ IDEA 不会自动编译更改的文件(除非您将其配置为这样做)。这意味着 IDE 不会自动重新加载更改。要重新加载更改的类,请通过 显式调用“构建”操作。如果您的应用程序正在服务器上运行,除了重新加载之外,您还可以通过以下方式使用更新应用程序操作:CtrlF9CtrlF10
调试
Eclipse和 IntelliJ IDEA中的调试器类似,但使用不同的快捷方式:
蚀 | IntelliJ IDEA | ||
---|---|---|---|
行动 | 捷径 | 行动 | 捷径 |
步入 | F5 | 步入 | F7 |
- | - | 智能步入 | ShiftF7 |
跨过去 | F6 | 跨过去 | F8 |
走出去 | F7 | 走出去 | ShiftF8 |
恢复 | F8 | 恢复 | F9 |
切换断点 | Ctrl+Shift+B | 切换断点 | CtrlF8 |
评估表达 | Ctrl+Shift+I | 评估表达 | AltF8 |
应用服务器
在 IntelliJ IDEA 中部署到应用程序服务器或多或少与您在 Eclipse 中可能习惯的类似。
将您的应用程序部署到服务器
有关更多信息,请参阅应用程序服务器。
通过Build |构建和重建您的工件 构建工件。
构建工具
IntelliJ IDEA 不提供用于编辑 Maven 和 Gradle 配置文件的可视化表单。导入或创建 Maven 或 Gradle 项目后,您可以直接在编辑器中编辑其pom.xml或build.gradle文件。稍后,您可以根据需要将项目模型与更改的文件同步,或者自动将更改导入到新的构建文件中。对底层构建配置的任何更改最终都需要与 IntelliJ IDEA 中的项目模型同步。
对于特定于 Maven 或 Gradle 的操作,IntelliJ IDEA 提供了Maven Project 工具窗口和Gradle 工具窗口。除了项目结构之外,这些工具窗口还提供目标或任务列表以及包含相关操作的工具栏。
对于手动同步,请使用Maven或Gradle工具窗口工具栏上的相应操作: 。
运行目标/任务
使用Maven或Gradle工具窗口运行任何项目目标或任务。当您这样做时,IntelliJ IDEA 会创建相应的运行配置,您可以稍后重用该配置来快速运行目标或任务。
值得一提的是,任何目标或任务都可以附加到运行配置。当您的目标或任务生成应用程序所需的特定文件时,这可能很有用。
Maven和Gradle工具窗口都提供“运行任务”操作。它运行 Maven 或 Gradle 命令,类似于使用控制台运行它的方式。
配置工件
如果您在pom.xml或build.gradle文件中配置了WAR 工件,IntelliJ IDEA 会自动在项目结构 |中配置相应的工件。文物。
请注意,当您编译项目或构建工件时,IntelliJ IDEA 使用自己的构建过程,该过程可能更快,但不能保证 100% 准确。如果您在使用 IntelliJ IDEA 中的Build编译项目时发现结果不一致,请尝试改用 Maven 目标或 Gradle 任务。
版本控制系统
IntelliJ IDEA 支持 Git、Mercurial、Subversion、Perforce 和其他版本控制系统 (VCS)。
配置 VCS 根
当您打开位于 VCS 根目录下的项目时,IntelliJ IDEA 会自动检测此根目录并建议将其添加到项目设置中。
要更改与版本控制相关的项目设置(或手动添加 VCS 根目录),请转至设置 | 版本控制。
IntelliJ IDEA 与多存储库项目完美配合。只需将您的项目目录映射到 VCS,IDE 将处理剩下的事情。对于Git和Mercurial,IDE 甚至会为您提供同步分支控制,以便您可以同时对多个存储库执行分支操作。有关更多信息,请参阅管理 Git 分支。
编辑 VCS 设置
每个 VCS 可能需要特定设置,例如Git 可执行文件的路径、GitHub/Perforce 凭证等:
配置完 VCS 设置后,您将看到 版本控制工具窗口 。Alt09
检查项目
要从VCS检出项目,请点击下载屏幕或VCS主菜单中的“从版本控制获取”。
处理本地变更
更改 视图显示您的本地更改:已暂存和未暂存。为了简化管理变更,所有变更都被组织到变更列表中。对源文件所做的任何更改都会自动包含在活动更改列表中。您可以创建新的更改列表、删除现有更改列表(更改列表同样)以及在更改列表之间移动文件。
在“版本控制”工具窗口或“项目”窗口的“本地更改”选项卡中右键单击要忽略的未版本化文件或文件夹,然后选择“Git | Git” ”。添加到 .gitignore或Git |添加到 .git/info/exclude。Alt09
如果您希望忽略的文件也显示在“本地更改”视图中,请单击工具栏上的并选择“忽略的文件”。
与历史一起工作
Git工具窗口的“日志”选项卡可以让您查看和搜索提交的历史记录。您可以按存储库、分支、用户、日期、文件夹甚至描述中的控制台对作业进行排序和过滤。您可以找到特定的任务的提交,或者只是浏览历史记录和分支树:
与电信网络
IntelliJ IDEA 允许您创建、切换、合并、比较和删除分支。对于这些操作,可以使用主 VCS 菜单或上下文VCS 菜单中的“分支”,或者使用VCS 操作弹出窗口(通过按或状态栏右侧可以)的小部件来调用它:Alt0`
所有VCS操作招聘均从VCS主菜单进行:
行动 | 捷径 |
---|---|
版本控制工具窗口 | Alt09 |
VCS操作弹出窗口 | Alt0` |
提交更改 | Ctrl0K |
更新项目 | Ctrl0T |
提交活跃 | CtrlShift0K |
感谢您的反馈意见!