从 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
如果您不想使用鼠标,则可以随时通过按指定的快捷方式切换到任何工具栏。要记住最重要的键盘是:
-
项目 : Alt 0 1
-
犯罪 : Alt 0 0
-
终端 : Alt F12
关于工具窗口的另一件事是您可以拖动、固定、取消固定、附加和分离它们:
有关详细信息,请参阅 排列工具窗口 和 工具窗口视图模式 。
为了帮助存储/恢复工具窗口布局,有几个有用的命令:
-
窗口|布局|将当前布局另存为新布局 :将排列另存为新布局。
-
窗口|布局|当前恢复布局 :重置当前布局中的更改。(也可通过) Shift F12
有关更多信息,请参阅 布局 。
多个窗口
IntelliJ IDEA 中的 Windows 管理与 Eclipse 截然不同。您无法在一个项目中打开多个窗口,但您可以将任意数量的编辑器选项卡分离到单独的窗口中。
每次选择打开的文件
默认情况下,当您在编辑器选项卡之间切换时,IntelliJ IDEA 不会更改 项目工具窗口 中的选择。 但是,您可以在项目 工具窗口设置中启用它:
一般工作流程
没有“保存”按钮
IntelliJ IDEA 没有 “保存” 按钮。由于在 IntelliJ IDEA 中,您可以撤消并重建恢复 本地历史记录 中的更改,因此每次都要求您保存更改是没有意义的。
意思是,物理保存到磁盘是由某些事件触发的,包括编译、关闭文件、将焦点从 IDE 中切换出来等等。您可以通过设置/首选项 | 更改此行为外观与 其他 行为 | 系统设置 :
保存操作
如果您是经验丰富的 Eclipse 用户,您会熟悉 保存操作 :保存时自动触发的操作,例如重新整理代码、组织导入等。
IntelliJ IDEA还具有 保存操作功能,您可以在 “设置/首选项|” 中找到并启用这些操作。 工具| 保存操作 。
最重要的是,IntelliJ IDEA 允许您在提交时自动运行相应的操作:
或者手动:
-
代码| 重新格式化代码 Ctrl Alt 0 L
-
代码| 优化进口 Ctrl Alt 0 O
-
代码| 代码清理
汇编
IntelliJ IDEA 编译项目的方式在很多方面与 Eclipse不同。
自动编译
默认情况下,IntelliJ IDEA 不会在保存时自动编译项目,因为通常我们不会在 IntelliJ IDEA 中显式调用 保存 操作。
如果您想模仿 Eclipse 行为,您可以调用 “构建项目” 操作- 它将保存更改的文件并编译它们。 Ctrl F9
您还可以在设置/首选项 | 中启用 构建项目 保存操作。 工具| 保存操作 。
请注意,IntelliJ IDEA 中的自动编译与Eclipse 中的自动编译不同。在 Eclipse 中,它不是完全自动的,因为它是由用户显式调用的 保存操作触发的,而在 IntelliJ IDEA 中,当您在编辑器中键入时,它会隐式调用。
这就是为什么即使启用了 “构建项目” 选项,如果至少有一个应用程序正在运行,IntelliJ IDEA 也不会执行自动编译:它会隐式地重新加载应用程序中的类。在这种情况下,您可以调用 Build | 构建项目 。 Ctrl F9
问题工具窗口
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 |
||
---|---|---|---|
行动 |
捷径 |
行动 |
捷径 |
代码完成 |
Ctrl Space |
基本完成 |
Ctrl Space |
- |
- |
类型匹配完成 |
Ctrl Shift Space |
- |
- |
报表完成 |
Ctrl Shift Enter |
快速访问 |
Ctrl+3 |
到处搜索 |
双倍的 Shift |
最大化活动视图或编辑器 |
Ctrl+M |
隐藏所有工具窗口 |
Ctrl Shift F12 |
开放式 |
Ctrl+Shift+T |
导航至班级 |
Ctrl 0 N |
开放资源 |
Ctrl+Shift+R |
导航至文件 |
Ctrl Shift 0 N |
- |
- |
导航至符号 |
Ctrl Alt Shift 0 N |
下一个视图 |
Ctrl+F7 |
- |
- |
- |
- |
最近的文件 |
Ctrl 0 E |
快速提纲 |
Ctrl+O |
文件结构 |
Ctrl F12 |
移动线 |
Alt+Up/Down |
移动线 |
Alt Shift 0 ↑ / Alt Shift 0 ↓ |
删除行 |
Ctrl+D |
删除行 |
Ctrl 0 Y |
快速解决 |
Ctrl+1 |
表现意图行动 |
Alt Enter |
快速切换编辑器 |
Ctrl+E |
切换器 |
Ctrl Shift Tab |
- |
- |
最近的文件 |
Ctrl 0 E |
快速层次结构 |
Ctrl+T |
导航至类型层次结构 |
Ctrl 0 H |
- |
- |
导航到方法层次结构 |
Ctrl Shift 0 H |
- |
- |
显示 UML 弹出窗口 |
Ctrl Alt 0 U |
最后编辑位置 |
Ctrl+Q |
最后编辑位置 |
Ctrl Shift Backspace |
下一位编辑 |
Ctrl+F6 |
选择下一个选项卡 |
Alt 0 → |
跑步 |
Ctrl+Shift+F11 |
跑步 |
Shift F10 |
调试 |
Ctrl+F11 |
调试 |
Shift F9 |
正确的缩进 |
Ctrl+I |
自动缩进行 |
Ctrl Alt 0 I |
格式 |
Ctrl+Shift+F |
重新格式化代码 |
Ctrl Alt 0 L |
环绕着 |
Ctrl+Alt+Z |
环绕着 |
Ctrl Alt 0 T |
- |
- |
围绕实时模板 |
Ctrl Alt 0 J |
公开声明 |
F3 |
导航至声明 |
Ctrl 0 B |
- |
- |
快速定义 |
Ctrl Shift 0 I |
开放类型层次结构 |
F4 |
导航至类型层次结构 |
Ctrl 0 H |
- |
- |
显示 UML 弹出窗口 |
Ctrl Alt 0 U |
工作区中的引用 |
Ctrl+Shift+G |
查找用法 |
Alt F7 |
- |
- |
显示用法 |
Ctrl Alt F7 |
- |
- |
查找使用设置 |
Ctrl Alt Shift F7 |
打开搜索对话框 |
Ctrl+H |
在文件中查找 |
Ctrl Shift 0 F |
文件中出现的情况 |
Alt+Ctrl+U |
突出显示文件中的用法 |
Ctrl Shift F7 |
复制行 |
Ctrl+Alt+Down |
重复行 |
Ctrl 0 D |
提取局部变量 |
Ctrl+Alt+L |
提取变量 |
Ctrl Alt 0 V |
分配给字段 |
Ctrl+2 / Ctrl+F |
提取字段 |
Ctrl Alt 0 F |
显示重构快捷菜单 |
Ctrl+Alt+T |
重构这个 |
Ctrl Alt Shift 0 T |
改名 |
Ctrl+Alt+R |
改名 |
Shift F6 |
前往线路 |
Ctrl+L |
导航至行 |
Ctrl 0 G |
结构化选择 |
Alt+Shift+Up / Alt+Shift+Down |
选择插入符号处的单词 |
Ctrl 0 W / Ctrl Shift 0 W |
找下一个 |
Ctrl+J |
找下一个 |
F3 |
显示 |
Ctrl+Alt+W |
选择于 |
Alt F1 |
后退 |
Ctrl+[ |
后退 |
Ctrl Alt 0 ← |
向前 |
Ctrl+] |
向前 |
Ctrl Alt 0 → |
Eclipse 键盘映射
对于不想学习新快捷键的 Eclipse 用户,IntelliJ IDEA 提供了与其快捷键非常相似的 Eclipse键盘映射:
寻找行动
当您不知道某些操作的快捷方式时,请尝试使用通过 提供的 “查找操作” 功能。开始键入以按名称查找操作、查看其快捷方式或调用它: Ctrl Shift 0 A
编码协助
Eclipse 和 IntelliJ IDEA都提供编码辅助功能,例如代码完成、代码生成、快速修复、实时模板等。
快速修复
要在 IntelliJ IDEA 中应用快速修复,请按: Alt Enter
所有快速修复均基于 “设置/首选项 |”中配置的检查。编辑| 检查 :
如果您想一次将快速修复应用于多个位置(即整个文件夹、模块甚至项目),您可以通过 Code | 运行相应的检查来完成此操作 。分析代码 | 按名称运行检查...或通过 代码 | 运行整批检查 正在使用配置文件“{0}”运行代码清理... :
除了直接的问题之外,IntelliJ IDEA 还可以识别可以通过所谓的 意图 (也可以使用)来改进或优化的代码结构: Alt Enter
蚀 |
IntelliJ IDEA |
||
---|---|---|---|
行动 |
捷径 |
行动 |
捷径 |
快速解决 |
Ctrl+1 |
表现意图行动 |
Alt Enter |
生成代码
生成代码的关键动作是 Code | 生成 ,可通过: Alt Insert
此操作是上下文相关的,不仅在编辑器中可用,而且在 项目工具窗口 和 导航栏中 也可用:
代码完成
IntelliJ IDEA 提供不同类型的代码完成,其中包括:
-
基本完成
-
第二次基本完成
-
类型匹配完成
-
第二次类型匹配完成
-
报表完成
有关这些完成类型之间的差异的更多信息,请参阅 代码完成 博客文章。
默认情况下,IntelliJ IDEA 不会显示所选项目的 文档弹出窗口,但您可以在 “设置/首选项 |”中启用它。编辑| 代码完成 | 显示文档弹出窗口 :
如果您不想启用此选项,您可以在需要时按以下按钮手动调用此弹出窗口: Ctrl 0 Q
当插入符号位于方法或构造函数的括号内时,您可以通过调用 Parameter Info 来获取有关参数的信息: Ctrl 0 P
蚀 |
IntelliJ IDEA |
||
---|---|---|---|
行动 |
捷径 |
行动 |
捷径 |
代码完成 |
Ctrl+Space |
基本完成 |
Ctrl Space |
- |
- |
类型匹配完成 |
Ctrl Shift Space |
- |
- |
报表完成 |
Ctrl Shift Enter |
模板
您可能习惯于
main
在编辑器中键入内容,然后调用代码完成将其转换为主方法定义。然而,IntelliJ IDEA 模板有点不同:
模板 |
蚀 |
IntelliJ IDEA |
---|---|---|
定义一个main方法 |
|
|
迭代数组 |
|
|
迭代集合 |
|
|
迭代列表 |
|
|
使用 foreach 语法迭代可迭代对象 |
|
|
打印到 System.out |
|
|
打印到 System.err |
|
|
定义静态字段 |
|
|
可用模板的列表可以在“设置”|“设置” 中找到。 编辑| 实时模板 。您还可以在其中添加自己的模板或修改任何现有模板。
后缀模板
除了“常规”模板之外,IntelliJ IDEA 还提供所谓的
后缀
模板。当您想要将模板应用于已键入的表达式时,它们非常有用。例如,输入变量名称,添加
.ifn
并按。IntelliJ IDEA 会将您的表达变成语句。
Tab
if (...==null){...}
要查看可用后缀模板的完整列表,请转至 设置 | 编辑| 一般| 后缀完成 。
围绕实时模板
带模板的环绕 是另一个附加功能,其工作方式与 实时模板 类似,但可以使用. Ctrl Alt 0 J
要使用模板定义您自己的
环绕声
,请转至
设置| 编辑| 实时模板
$SELECTION$
并在模板文本中使用:
$LOCK$.readLock().lock();
try {
$SELECTION$
} finally {
$LOCK$.readLock().unlock();