从 Eclipse 迁移到 IntelliJ IDEA
从 Eclipse 切换到 IntelliJ IDEA ,尤其是在您长时间使用 Eclipse 时,需要了解这两个 IDE 之间的一些基本区别,包括它们的 用户界面、 编译方法、 快捷键 、项目配置等方面。
将 Eclipse 项目导入 IntelliJ IDEA
您可以导入 Eclipse 工作区或单个 Eclipse 项目。 要执行此操作,请点击 打开 上的 欢迎屏幕 或在主菜单中选择 。

如果您的项目使用了构建工具如 Maven 或 Gradle ,我们建议在导入项目时选择关联的构建文件 pom.xml 或 build.gradle 。 有关导入项目的更多信息,请参阅 从 Eclipse 导入项目。
如果您想从 Eclipse导入现有的运行配置,请考虑使用这个 第三方插件。
用户界面差异
无工作区
启动 IntelliJ IDEA 时您首先会注意到的是它没有 工作区的概念。 这意味着您一次只能处理一个项目。 在 Eclipse中,您通常拥有一组可能相互依赖的项目,而在 IntelliJ IDEA 中,您拥有一个由一组模块组成的单一项目。
如果您有多个不相关的项目,可以在单独的窗口中打开它们。
如果您仍然希望在一个窗口中打开多个不相关的项目,作为一种变通办法,您可以 将它们配置为模块。
IntelliJ IDEA 与 Eclipse 术语
下表比较了 Eclipse 和 IntelliJ IDEA 中的术语:
Eclipse | IntelliJ IDEA |
|---|---|
工作空间 | 项目 |
项目 | 模块 |
Facet | Facet |
库 | 库 |
JRE(J) | SDK |
类路径变量 | 路径变量 |
无透视图
当您切换到 IntelliJ IDEA 时的第二个大惊喜是,它没有 透视图。
这意味着您不需要手动切换不同的工作区布局来执行不同的任务。 IDE 会根据您的上下文自动弹出相关工具。

工具窗口
就像在 Eclipse 中一样,在 IntelliJ IDEA 中您也有工具窗口。 您可以在 找到所有可用工具窗口的完整列表。 选择工具窗口将会打开它。 工具窗口也可以从工具窗口栏上的工具窗口按钮访问。

如果您不想用鼠标,您可以通过按下分配给它的快捷键随时切换到任何工具栏。 最重要的快捷键有:
项目: Alt+1
提交(I): Alt+0
终端: Alt+F12
关于工具窗口的另一件事是,您可以拖动、固定、取消固定、附加和分离它们:

为帮助存储/恢复工具窗口布局,有几个有用的命令:
:将布局保存为新布局。
:重置当前布局中的更改。 (也可通过 Shift+F12 获取)
有关更多信息,请参见 布局。
多窗口
IntelliJ IDEA 中的 Windows 管理与 Eclipse 略有不同。 您不能用一个项目打开多个窗口,但可以将任意数量的编辑器选项卡分离成独立的窗口。 要将标签移动到单独的窗口,请右键点击标签并选择 将标签页移至新窗口 (或按 Shift+F4)。
始终选择打开的文件
默认情况下,IntelliJ IDEA 在切换编辑器选项卡时不会导航到 项目工具窗口 中的文件。 但是,您可以在 项目 工具窗口设置中启用它:

常规工作流
没有“保存”按钮
IntelliJ IDEA 没有 保存 按钮。 由于在 IntelliJ IDEA 中,您可以撤销重构并从 本地历史记录 恢复更改,因此每次都要求您保存更改是没有意义的。
然而,值得注意的是,物理保存到磁盘是由某些事件触发的,包括编译、关闭文件、切换焦点出 IDE 等等。 要更改自动保存行为,请按 Ctrl+Alt+S 打开设置,然后导航到 。 在 系统设置 页面,找到 自动保存 部分。

保存操作
如果您是一位经验丰富的 Eclipse 用户,您一定熟悉 保存操作 :自动保存时触发的操作,例如重新格式化代码、整理导入等。
IntelliJ IDEA 还具有 保存操作 ,您可以在 中找到并启用这些操作。

提交时的操作
当您提交更改时,您可以自动运行各种操作。 例如,您可以自动运行测试、重新格式化代码、优化导入等。

编译
IntelliJ IDEA 编译项目的方式在许多方面都不同于 Eclipse。
自动编译
默认情况下,IntelliJ IDEA 在保存时不会自动编译项目,因为通常在 IntelliJ IDEA 中不会显式调用 save操作。
如果您想模拟 Eclipse 行为,您可以调用 构建项目 操作 Ctrl+F9——它将保存更改的文件并编译它们。
您还可以在 构建项目 中启用 保存操作。
请注意,IntelliJ IDEA 中的自动编译与 Eclipse 中的不同。 在 Eclipse 中,这不是完全自动的,因为它是由用户明确触发的 节省 操作触发的,而在 IntelliJ IDEA 中,当您在编辑器中输入时,它会被隐式调用。
这就是为什么即使启用了 构建项目 选项,IntelliJ IDEA 也不会执行自动编译,如果至少有一个应用程序正在运行:它会隐式重新加载应用程序中的类。 在这种情况下,您可以调用 Ctrl+F9。
Eclipse 编译器
虽然 Eclipse 使用它自己的编译器,IntelliJ IDEA 使用的是与项目 JDK 捆绑在一起的 javac 编译器。 如果您必须使用 Eclipse 编译器,请导航到 并按照以下所示选择它:

Eclipse 和 javac 编译器之间的最大区别是 Eclipse 编译器对错误更宽容,有时允许您运行未编译的代码。
在需要在IntelliJ IDEA中运行带有编译错误的代码的情况下,您可以通过编辑运行配置并选择 来用 构建,无错误检查 替换 运行配置中的 构建 选项:

快捷键
IntelliJ IDEA 的快捷键与 Eclipse 中的完全不同。
下面的表格展示了顶级 Eclipse 操作(及其快捷键)如何映射到 IntelliJ IDEA(您可能需要打印出来以便随时查看)。
Eclipse | IntelliJ IDEA | ||
|---|---|---|---|
操作 | 快捷方式 | 操作 | 快捷方式 |
代码补全 | Ctrl+Space | 基本补全 | Ctrl+Space |
- | - | 类型匹配补全 | Ctrl+Shift+Space |
- | - | 语句补全 | Ctrl+Shift+Enter |
快速访问 | Ctrl+3 | 随处搜索 | 双击 Shift |
最大化活动视图或编辑器 | Ctrl+M | 隐藏所有工具窗口 | Ctrl+Shift+F12 |
打开类型 | Ctrl+Shift+T | 导航到类 | Ctrl+N |
打开资源 | Ctrl+Shift+R | 导航至文件 | Ctrl+Shift+N |
- | - | 导航到符号 | Ctrl+Alt+Shift+N |
下一视图 | Ctrl+F7 | - | - |
- | - | 最近的文件 | Ctrl+E |
快速大纲 | Ctrl+O | 文件结构 | Ctrl+F12 |
移动行 | Alt+上/下 | 移动行 | Alt+Shift+Up/Alt+Shift+Down |
删除行 | Ctrl+D | 删除行 | Ctrl+Y |
快速修复 | Ctrl+1 | 显示意图操作 | Alt+Enter |
快速切换编辑器 | Ctrl+E | 切换器 | Ctrl+Shift+Tab |
- | - | 最近的文件 | Ctrl+E |
快速层次结构 | Ctrl+T | 导航到类型层次结构 | Ctrl+H |
- | - | 导航到方法层次结构 | Ctrl+Shift+H |
- | - | 显示 UML 弹出窗口 | Ctrl+Alt+U |
最后编辑位置 | Ctrl+Q | 最后编辑位置 | Ctrl+Shift+Backspace |
下一个编辑器 | Ctrl+F6 | 选择下一个标签 | Alt+Right |
运行 | Ctrl+Shift+F11 | 运行 | Shift+F10 |
调试 | Ctrl+F11 | 调试 | Shift+F9 |
修正缩进 | Ctrl+I | 自动缩进代码行 | Ctrl+Alt+I |
设置格式 | Ctrl+Shift+F | 重新设置代码格式 | Ctrl+Alt+L |
包围方式 | Ctrl+Alt+Z | 包围方式 | Ctrl+Alt+T |
- | - | 使用实时模板包围 | Ctrl+Alt+J |
打开声明 | F3 | 导航至声明 | Ctrl+B |
- | - | 快速定义 | Ctrl+Shift+I |
打开类型层次结构 | F4 | 导航到类型层次结构 | Ctrl+H |
- | - | 显示 UML 弹出窗口 | Ctrl+Alt+U |
工作区中的引用 | Ctrl+Shift+G | 查找用法 | Alt+F7 |
- | - | 显示用法 | Ctrl+Alt+F7 |
- | - | 查找用法设置 | Ctrl+Alt+Shift+F7 |
打开搜索对话框 | Ctrl+H | 在文件中查找 | Ctrl+Shift+F |
文件中的匹配项 | Alt+Ctrl+U | 高亮显示文件中的用法 | Ctrl+Shift+F7 |
复制行 | Ctrl+Alt+Down | 复制行 | Ctrl+D |
提取局部变量 | Ctrl+Alt+L | 提取变量 | Ctrl+Alt+V |
分配给字段 | Ctrl+2 / Ctrl+F | 提取字段 | Ctrl+Alt+F |
显示重构快速菜单 | Ctrl+Alt+T | 重构 | Ctrl+Alt+Shift+T |
重命名 | Ctrl+Alt+R | 重命名 | Shift+F6 |
跳转到行 | Ctrl+L | 导航到行 | Ctrl+G |
结构化选择 | Alt+Shift+上 / Alt+Shift+Down | 选择文本光标处的单词 | Ctrl+W/Ctrl+Shift+W |
查找下一个 | Ctrl+K | 查找下一个 | F3 |
显示在 | Ctrl+Alt+W | 选择位置 | Alt+F1 |
返回 | Ctrl+[ | 后退 | Ctrl+Alt+Left |
前进 | Ctrl+] | 前进 | Ctrl+Alt+Right |
Eclipse 按键映射
在 ,您可以选择使用 Eclipse 键位图,该键位图与 Eclipse 快捷键非常相似,以防您不想学习新的快捷键:

查找操作
当您不知道某个操作的快捷键时,尝试使用通过 查找操作 提供的 Ctrl+Shift+A 功能。 开始输入以按名称查找操作、查看其快捷键或调用它:

编码辅助
Eclipse 和 IntelliJ IDEA 提供代码辅助功能,例如代码补全、代码生成、快速修复、实时模板等。
快速修复
在 IntelliJ IDEA 中应用快速修复,请按 Alt+Enter:

所有快速修复都基于配置在 中的检查:

除了明显的问题之外,IntelliJ IDEA 还识别可以通过所谓的 意图 (也可以通过 Alt+Enter 获得)来改进或优化的代码结构:

Eclipse | IntelliJ IDEA | ||
|---|---|---|---|
操作 | 快捷方式 | 操作 | 快捷方式 |
快速修复 | Ctrl+1 | 显示意图操作 | Alt+Enter |
代码补全
IntelliJ IDEA 提供不同类型的代码补全, 包括:
基本补全
第二基本补全
类型匹配补全
第二类型匹配补全
语句补全
有关这些代码补全类型之间差异的更多信息,请参阅 Code Completion 博客文章。

Eclipse | IntelliJ IDEA | ||
|---|---|---|---|
操作 | 快捷方式 | 操作 | 快捷方式 |
代码补全 | Ctrl+Space | 基本补全 | Ctrl+Space |
- | - | 类型匹配补全 | Ctrl+Shift+Space |
- | - | 语句补全 | Ctrl+Shift+Enter |
模板
您可能习惯于在编辑器中输入 main ,然后调用代码补全功能,将其转换为主方法定义。 但是,IntelliJ IDEA 模板有点不同:
模板 | Eclipse | IntelliJ IDEA |
|---|---|---|
定义 main 方法 |
|
|
遍历数组 |
|
|
迭代集合 |
|
|
遍历列表 |
|
|
使用 foreach 语法遍历可迭代对象 |
|
|
打印到 System.out |
|
|
打印到 System.err |
|
|
定义 static 字段 |
|
|
可用模板的列表可在 中找到。 您还可以在那里添加您自己的模板或修改任何现有的模板。
后缀模板
除“普通”模板外,IntelliJ IDEA 还提供所谓的 postfix 模板。 当您想将模板应用到已经输入的表达式时,它们非常有用。 例如,输入变量名,添加 .ifn 并按 Tab。 IntelliJ IDEA 将把您的表达式转变成 if (...==null){...} 语句。
要查看所有可用的后缀模板列表,请转到 。
使用实时模板包围
代码包围模板是另一个类似于 实时模板的新增功能,但可以用 Ctrl+Alt+J 应用于选定的代码。
若要定义您自己的 环绕模板 ,请前往 并在模板文本中使用 $SELECTION$:
重构
下表将 Eclipse 中最常见的重构快捷键与 IntelliJ IDEA 中的对应快捷键进行了对比:
Eclipse | IntelliJ IDEA | ||
|---|---|---|---|
操作 | 快捷方式 | 操作 | 快捷方式 |
提取局部变量 | Ctrl+Alt+L | 提取变量 | Ctrl+Alt+V |
分配给字段 | Ctrl+2 | 提取字段 | Ctrl+Alt+F |
显示重构快速菜单 | Alt+Shift+T | 重构 | Ctrl+Alt+Shift+T |
重命名 | Ctrl+Alt+R | 重命名 | Shift+F6 |
有关 IntelliJ IDEA 提供的许多其他重构功能的更多信息,请参阅 IntelliJ IDEA 的 20 大重构功能
撤销
有时,重构可能会影响一个项目中的许多文件。 IntelliJ IDEA 不仅负责安全地应用更改,还允许您撤销它们。 要撤销上次重构,请将焦点切换到 项目工具窗口 并按 Ctrl+Z。
搜索
以下是最常见的搜索操作和快捷键的映射:
Eclipse | IntelliJ IDEA | ||
|---|---|---|---|
操作 | 快捷方式 | 操作 | 快捷方式 |
打开搜索对话框 | Ctrl+H | 在文件中查找 | Ctrl+Shift+F |
工作区中的引用 | Ctrl+Shift+G | 查找用例 | Alt+F7 |
- | - | 显示用法 | Ctrl+Alt+F7 |
- | - | 查找用法设置 | Ctrl+Alt+Shift+F7 |
文件中的匹配项 | Alt+Ctrl+U | 高亮显示文件中的用法 | Ctrl+F7 |
导航
下表将 Eclipse 中可用的导航操作与 IntelliJ IDEA 中的对应操作进行对照:
Eclipse | IntelliJ IDEA | ||
|---|---|---|---|
操作 | 快捷方式 | 操作 | 快捷方式 |
快速访问 | Ctrl+3 | 随处搜索 | 双击 Shift |
打开类型 | Ctrl+Shift+T | 导航到类 | Ctrl+N |
打开资源 | Ctrl+Shift+R | 导航至文件 | Ctrl+Shift+N |
- | - | 导航到符号 | Ctrl+Alt+Shift+N |
快速切换编辑器 | Ctrl+E | 切换器 | Ctrl+Tab |
- | - | 最近的文件 | Ctrl+E |
打开声明 | F3 | 导航至声明 | Ctrl+B |
打开类型层次结构 | F4 | 导航到类型层次结构 | Ctrl+H |
- | - | 显示 UML 弹出窗口 | Ctrl+Alt+U |
快速大纲 | Ctrl+O | 文件结构弹窗 | Ctrl+F12 |
大纲视图 | Alt+Shift+Q , O | 文件结构工具窗口 | Alt+7 |
返回 | Ctrl+[ | 返回 | Ctrl+Alt+Left |
前进 | Ctrl+] | 前进 | Ctrl+Alt+Right |
稍后,当您习惯了这些导航选项并需要更多时,请参阅 IntelliJ IDEA 常用的 5 个导航键盘快捷键。
调用层次结构
IntelliJ IDEA 和 Eclipse 都提供了允许您检查层次结构并探索源文件结构的功能。 例如, 调用层次结构 功能向您显示所选方法的所有调用者和被调用者。
在 Eclipse 中,您可以通过按下 Ctrl+Alt+H 来访问它。 在 IntelliJ IDEA 中,使用 Ctrl+Alt+H 快捷键。

除了调用层次结构,IntelliJ IDEA 还可以构建方法层次结构 (Ctrl+Shift+H) 和类型层次结构 (Ctrl+H)。 您可以在 源代码层次结构 找到更多信息。
代码格式设置
IntelliJ IDEA 代码格式规则(可通过 获得)与 Eclipse中的规则相似,但有一些小的不同。 您可能需要注意, 使用制表符 选项默认是禁用的, 缩进大小 可能会有所不同,等等。

如果您想导入您的 Eclipse格式化器设置,请前往 ,点击 ,点击 导入方案 并选择导出的 Eclipse格式化器设置(一个 XML 文件)。
请注意,IntelliJ IDEA 和 Eclipse 中的代码样式设置可能会有一些差异。 例如,您不能告诉 IntelliJ IDEA 在后面(但不是前面)添加空格。 如果您希望 IntelliJ IDEA 使用 Eclipse 格式化器,建议安装 Eclipse 代码格式化程序插件。
Eclipse | IntelliJ IDEA | ||
|---|---|---|---|
操作 | 快捷方式 | 操作 | 快捷方式 |
设置格式 | Ctrl+Shift+F | 重新设置代码格式 | Ctrl+Alt+L |
运行并重新加载更改
同样地,与 Eclipse 一样,IntelliJ IDEA 也有 运行/调试配置对话框 ,您可以从主工具栏或主菜单访问它。 比较相关快捷键:
Eclipse | IntelliJ IDEA | ||
|---|---|---|---|
操作 | 快捷方式 | 操作 | 快捷方式 |
运行 | Ctrl+Shift+F11 | 运行 | Shift+F10 |
调试 | Ctrl+F11 | 调试 | Shift+F9 |
- | - | Make | Ctrl+F9 |
- | - | 更新应用程序 | Ctrl+F10 |
如前所述,默认情况下,IntelliJ IDEA 不会自动编译已更改的文件(除非您将其配置为这样做)。 这意味着 IDE 不会自动重新加载更改。 要重新加载已更改的类,请通过 构建 操作明确调用 Ctrl+F9。 如果您的应用程序正在服务器上运行,除了重新加载,您还可以通过 更新应用程序 操作使用 Ctrl+F10:
调试
Eclipse 和 IntelliJ IDEA 中的调试器类似,但使用不同的快捷键:
Eclipse | IntelliJ IDEA | ||
|---|---|---|---|
操作 | 快捷方式 | 操作 | 快捷方式 |
步入 | F5 | 步入 | F7 |
- | - | 智能步入 | Shift+F7 |
步过 | F6 | 步过 | F8 |
逐步跳出 | F7 | 逐步跳出 | Shift+F8 |
恢复 | F8 | 恢复 | F9 |
切换断点 | Ctrl+Shift+B | 切换断点 | Ctrl+F8 |
对表达式求值 | Ctrl+Shift+I | 对表达式求值 | Alt+F8 |
应用程序服务器
在 IntelliJ IDEA 中部署到应用服务器与您在 Eclipse 中可能习惯的做法差不多。
将您的应用程序部署到服务器
有关更多信息,请参见 应用程序服务器。
通过 构建和重建您的 工件。
构建工具
IntelliJ IDEA 不提供用于编辑 Maven 和 Gradle 配置文件的可视化表单。 一旦您导入或创建了 Maven 或 Gradle 项目,您可以直接在编辑器中编辑其 pom.xml 或 build.gradle 文件。 之后,您可以根据需要与更改的文件 同步项目模型 ,或 自动导入更改到新的构建文件。 任何对基础构建配置的更改最终需要与 IntelliJ IDEA 中的项目模型同步。
对于特定于 Maven 或 Gradle 的操作,IntelliJ IDEA 提供了 Maven 项目工具窗口和 Gradle 工具窗口。 除了您的项目结构之外,这些工具窗口还提供了目标或任务列表及包含相关操作的工具栏。

要进行手动同步,请使用 Maven 或 Gradle 工具窗口工具栏上的相应操作: 。
运行目标/任务
请使用 Maven 或 Gradle 工具窗格来运行任何项目目标或任务。 当您这样做时,IntelliJ IDEA 会创建相应的运行配置,您可以稍后重用该配置以快速运行目标或任务。
值得一提的是,任何目标或任务都可以附加到运行配置。 这在您的目标或任务生成应用程序所需的特定文件时可能会很有用。

Maven 和 Gradle 工具窗口都提供 运行任务(R) 操作。 它运行 Maven 或 Gradle 命令的方式与您在控制台中运行它的方式类似。
配置工件
如果您在 WAR 工件 中配置了 pom.xml 或 build.gradle 文件,IntelliJ IDEA 会自动在 中配置相应的 工件。
请注意,当您编译项目或构建制品时,IntelliJ IDEA 使用其自己的构建过程,虽然速度可能更快,但无法保证 100% 准确。 如果您在使用 构建 在 IntelliJ IDEA 编译项目时注意到结果不一致,请尝试使用 Maven goal 或 Gradle task。
版本控制系统
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 设置,您将看到 版本控制 工具窗口 Alt+9。
签出项目
从 VCS 检出项目,点击 从版本控制中获取 上的 欢迎屏幕 ,或在主 VCS 菜单中。
处理本地更改
更改 视图显示了您的本地更改:包括 已暂存 和 未暂存。 为了简化管理变更,所有变更都被组织到 changelists中。 对源文件所做的任何更改都会自动包含在当前活动的变更列表中。 您可以创建新的更改列表,删除现有的更改列表(更改 除外),并在更改列表之间移动文件。

在 本地更改 选项卡的 版本控制 工具窗口 Alt+9 或在 项目 工具窗口中,右键点击您想忽略的未进行版本控制的文件或文件夹,然后选择 或 。
如果您想在 本地更改 视图中也显示被忽略的文件,请点击工具栏上的 ,然后选择 已忽略的文件。

处理历史记录
日志 选项卡位于 Git 工具窗口,允许您查看并搜索提交历史。 您可以按存储库、分支、用户、日期、文件夹或描述中的短语对提交进行排序和筛选。 您可以找到特定的提交,或只是浏览历史记录和分支树:

处理分支
IntelliJ IDEA 允许您创建、切换、合并、比较和删除分支。 要访问这些操作,您可以点击当前签出的分支名称的 Git 组件:

所有 VCS 操作均可从 VCS 主菜单中获得:
操作 | 快捷键 |
|---|---|
版本控制工具窗口 | Alt+9 |
VCS 操作弹出窗口 | Alt+` |
提交更改 | Ctrl+K |
更新项目 | Ctrl+T |
推送提交 | Ctrl+Shift+K |