比较文件、文件夹和文本源
借助 PyCharm,您可以查看文件、文件夹、本地文件及其存储库版本、数据库对象以及文本源之间的差异。
比较文件
比较两个或三个文件
在 项目 工具窗口 Alt+1 中,选择要比较的文件并选择 ,或按 Ctrl+D。
或者,选择一个文件,从其上下文菜单中选择 比较对象… ,然后选择项目外的一个文件。
将活动编辑器与剪贴板内容进行比较
在编辑器中的任意位置右键点击,并在上下文菜单中选择 与剪贴板比较(B)。
将活动编辑器与项目文件进行比较
在 项目 工具窗口 Alt+1 中,右键点击要与当前打开的文件进行比较的文件。
在上下文菜单中选择 与编辑器比较文件(M)。
将活动编辑器与任意文件进行比较
如果您经常需要将 项目 外的文件与活动编辑器进行比较,或不想打开 项目 工具窗口 Alt+1 ,您可以使用 与编辑器比较文件(M) 操作来选择任意文件并将其与活动编辑器进行比较。
要将此操作添加到编辑器选项卡的上下文菜单:
按 Ctrl+Alt+S 打开设置,然后选择 。
在右侧窗格中,展开 编辑器标签页弹出窗口菜单 节点,选择要添加新操作的位置,点击
并选择 添加操作(A)…。
在 下查找并添加 与编辑器比较文件(M) 操作。
将本地文件与其存储库版本进行比较
打开 提交 工具窗口 Alt+0。
在更改列表中找到所需文件,然后执行以下操作之一:
右键点击该文件并选择 。
选择该文件并按 Ctrl+D。
双击该文件。
PyCharm 会在 用于文件的 Diff 查看器 中显示差异:

颜色 | 说明 |
|---|---|
| 新增 |
| 已修改 |
| 已删除 |
要应用更改,请使用山形按钮: 和
。
要追加更改,请按 Ctrl —
按钮将变为
。
效率提示
- 为 '接受' 和 '追加' 分配快捷键
要为 接受 和 追加 操作分配快捷键,请打开 键位映射 设置页面  Ctrl+Alt+S ,并在 版本控制系统 | 差异 & 合并 下找到这些操作。
- 交换两侧
当您在比较两个文件,或将文件与剪贴板内容进行比较时,您可以点击工具栏上的
来交换两侧。
- 从命令行比较文件
您可以通过命令行比较两个或三个文件,并将 PyCharm 用作外部差异工具。 有关详细信息,请参阅 从命令行比较文件。
比较文件夹
借助 PyCharm,您可以根据文件大小、内容或时间戳比较两个文件夹中的文件。 差异显示在 用于文件夹的 Diff 查看器 中:

顶部窗格列出了所选文件夹中的所有文件,而底部窗格显示所选文件的两个版本之间的差异(请参阅 比较文件)。
比较文件夹
在 项目 工具窗口 Alt+1 中选择要比较的文件夹。
在上下文菜单中选择 比较目录 ,或按 Ctrl+D。
使用以下工具栏按钮筛选列表:
:点击以显示左侧文件夹中存在而右侧文件夹中缺失的文件。
:点击以显示右侧文件夹中存在而左侧文件夹中缺失的文件。
:点击以显示两个文件夹中都存在,但内容、时间戳或大小不同的文件。
:点击以显示两个文件夹中都存在,且根据 比较方式 下拉列表中选定的选项判断为相同的文件。
使用搜索字段中的文本筛选器在列表中包含或排除文件:
要包含文件,请输入匹配模式。 例如,
.txt将匹配所有以.txt结尾的路径。要排除文件,请在模式前添加
!。 例如,!build/*会排除位于 build 目录中的所有文件。使用
&(AND)和|(OR)将多个筛选器组合使用。 例如,*.txt|.xml&!build/*将匹配所有以.txt或.xml结尾且不位于 build 目录中的路径。
同步文件夹
PyCharm 允许您同步两个文件夹的内容,或将一个文件夹中的更改应用到另一个文件夹。
对于每个文件,请点击 * 列中的图标,直到为该文件设置要执行的操作。
:将所选项从左侧文件夹复制到右侧文件夹。 如果右侧文件夹中已存在该文件,将被覆盖。
:将所选项从右侧文件夹复制到左侧文件夹。 如果左侧文件夹中已存在该文件,将被覆盖。
:不执行任何操作(两个文件相同)。
:不执行任何操作(两个文件不同)。
:移除所选项。
执行以下操作之一:
要将所选操作应用于当前项,请点击工具栏上的 同步所选 按钮
,或按 Enter。
要将所选操作应用于所有项,请点击工具栏上的 全部同步 按钮
。
比较两个文件夹中的不同文件
有时,一个文件可能存在于某个文件夹中,而另一个具有相似名称的文件存在于另一个文件夹中(例如, VCS_library_1.4 和 VCS_library_1.5 )。 这些可能是您要比较的同一文件的不同版本。 此外,可能会出现这样的情况:您认为某个文件已被重命名,但除此之外与另一个文件夹中的某个文件完全相同。 即使这些文件被视为不同的实体,PyCharm 也允许您比较两个文件,其中一个位于右侧文件夹,另一个位于左侧文件夹。
在左侧和右侧窗格中选择您要比较的文件。
点击工具栏上的 将新文件相互比较 图标
。 所选文件之间的差异将显示在底部窗格中。
比较任意文本源
除了比较文件或文件夹的内容,您还可以打开空白的 Diff 查看器 ,并将任意文本粘贴或将文件拖动到左右面板中进行比较。 这在某些情况下很有用,例如,您希望将某个应用程序的控制台输出与同一应用程序的轻微修改版本的输出进行比较。
按 Ctrl+Shift+A 并开始键入以定位 打开空白差异窗口 操作。
将您要比较的任意文本粘贴到左右面板中。
在左侧或右侧面板上点击右键并选择 切换到三向查看器 以比较任意三个文本源。
效率提示
- 为 '打开空白 Diff' 操作分配快捷键
在 键位映射 设置页面  Ctrl+Alt+S 上,在 版本控制系统 | 差异 & 合并 下找到此操作。
- 交换两侧
您可以在 差异查看器 中通过按工具栏上的
图标来交换两侧。
- 在单独窗口中打开 Diff
默认情况下, 差异查看器 会在编辑器选项卡中打开。 您可以通过配置设置,将查看器改为在单独的窗口中打开。 在 高级设置 设置页面  Ctrl+Alt+S 上,禁用 作为编辑器标签页打开差异 选项。
通过外部差异工具进行比较
您可以在 PyCharm 中设置并启动外部差异工具,直接比较您的文件和更改。 请确保事先在您的计算机上安装所需的差异工具。
配置外部差异工具
按 Ctrl+Alt+S 打开设置,然后选择 。
选择 启用外部工具 选项。

在 配置外部工具 部分,点击
。
在打开的 添加外部工具 对话框中,填写以下详细信息:
工具组 :从列表中选择 Diff 工具。
程序路径 :指定系统中差异工具可执行文件的路径。
实参模式 :如有必要,调整用于显示更改的模式,其中:
%1 - 本地更改
%2 - 来自远程服务器的内容
%3 - 未包含本地更改的当前版本

点击 测试差异 或 测试三向差异 以检查外部差异工具能否从 PyCharm 成功启动。
点击 确定 以保存更改。
从 PyCharm 启动外部差异工具
在 Diff 查看器中检查差异时,点击
以让 PyCharm 启动已配置的外部差异工具。
