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

颜色 | 描述 |
---|---|
| 新增 |
| 变更 |
| 删除 |
要应用更改,请使用折叠按钮: 和
。
若要追加更改,请按 Ctrl——
按钮将变成
。
效率提示
- 为“accept”和“append”分配快捷键
要为 accept 和 append 操作分配快捷键,请打开 按键映射 设置页面  Ctrl+Alt+S ,然后在 版本控制系统 | 差异合并 下找到这些操作。
- 交换两侧
当您比较两个文件或一个文件与剪贴板内容时,您可以通过点击工具栏上的
来交换两边。
- 命令行比较文件
您可以从命令行比较两个或三个文件,并使用 PyCharm 作为外部差异工具。 有关更多信息,请参见 命令行比较文件。
比较文件夹
PyCharm 允许您根据文件大小、内容或时间戳对两个文件夹中的文件进行比较。 差异显示在 差异查看器 for Folders中:

上窗格列出了选定文件夹中的所有文件,而下窗格显示了所选文件的两个版本之间的差异(请参阅 比较文件)。
比较文件夹
在 项目 工具窗口 Alt+1 中,选择您想要比较的文件夹。
从上下文菜单中选择 比较目录 ,或按 Ctrl+D。
请使用以下工具栏按钮来筛选列表:
:点击以显示左侧文件夹中存在但右侧文件夹中缺失的文件。
:点击以显示在右侧文件夹中存在但在左侧文件夹中缺失的文件。
:点击以显示两个文件夹中都存在的文件,但其内容、时间戳或大小不同。
:点击以显示同时存在于两个文件夹中的文件,并且这些文件在 比较依据 下拉菜单中选择的选项方面是相同的。
使用 搜索字段中的 文本筛选器 将文件包含或排除在列表之外:
要包含文件,请输入匹配模式。 例如,
.txt
验证以.txt
结尾的所有路径。要排除文件,请在您的模式前添加
!
。 例如,!build/*
排除了位于构建目录中的所有文件。使用
&
(AND
)和|
(OR
)来组合多个过滤器。 例如,*.txt|.xml&!build/*
验证所有以.txt
或.xml
结尾且不在 build 目录中的路径。
同步文件夹
PyCharm 允许您同步两个文件夹的内容,或将一个文件夹的更改应用到另一个文件夹。
对于每个文件,请点击*列中的图标,直到您设置了要对此文件执行的操作。
:将所选项目从左侧复制到右侧文件夹。 如果这样的文件已经存在于正确的文件夹中,它将被覆盖。
:将选中的项目从右侧文件夹复制到左侧文件夹。 如果左侧文件夹中已经存在此文件,它将被覆盖。
:不会执行任何操作(两个文件是相同的)。
:将不会执行任何操作(两个文件不同)。
:删除选定项。
请执行以下操作之一:
若要将选定的操作应用于当前项目,请点击工具栏上的 同步选中 按钮
或按 Enter。
要将选定的操作应用到所有项目,请点击工具栏上的 同步全部 按钮
。
对比两个文件夹中的不同文件
有时,一个文件可能存在于一个文件夹中,而另一个名称相似的文件存在于另一个文件夹中(例如, VCS_library_1.4 和 VCS_library_1.5 )。 这些可能是您想要比较的同一个文件的不同版本。 而且,可能会出现这样的情况:您认为一个文件被重命名了,但实际上与另一个文件夹中的文件完全相同。 PyCharm 允许您比较两个文件,其中一个文件位于右侧文件夹中,而另一个文件位于左侧文件夹中,即使这样的文件被视为不同的实体。
在左侧和右侧窗格中选择您要比较的文件。
点击工具栏上的 比较新文件 图标
。 所选文件之间的差异将显示在底部窗格中。
比较任意文本源
除了比较文件或文件夹的内容,您还可以打开一个空的 差异查看器 ,并将任意文本粘贴或将文件拖动到左右面板进行比较。 例如,如果您想比较应用程序的控制台输出与同一应用程序稍作修改版本的输出,这可能会很有用。
按 Ctrl+Shift+A 并开始键入以定位 打开空白差异窗口 操作。
将您想要比较的任何文本粘贴在左右面板中。
右键点击左侧或右侧面板,然后选择 切换到三向查看器 以比较任意三个文本源。
效率提示
- 为“Open Blank Diff”操作分配一个快捷键
在 按键映射 设置页面  Ctrl+Alt+S 中,在 版本控制系统 | 差异合并 下找到此操作。
- 交换两侧
您可以通过按工具栏上的
图标在 差异查看器 中交换位置。
- 在单独窗口中打开差异
默认情况下, 差异查看器 在编辑器选项卡中打开。 您可以配置设置,以在单独的窗口中打开查看器。 在 高级设置 设置页面  Ctrl+Alt+S 中,禁用 作为编辑器标签页打开差异 选项。
通过外部差异工具比较
您可以设置并启动一个外部 diff 工具来直接从 PyCharm 比较您的文件和更改。 请务必提前在您的机器上安装必要的 diff 工具。
配置外部差异工具
按 Ctrl+Alt+S 打开设置,然后选择
。请选择 启用外部工具 选项。
在 配置外部工具 部分,点击
。
在打开的 添加外部工具 对话框中,填写以下详细信息:
工具组 :从列表中选择 Diff tool。
程序路径 :指定系统中 diff 工具可执行文件的路径。
实参模式 :如有必要,调整显示更改的模式,其中:
%1 - 本地更改
%2 - 来自远程服务器的内容
%3 - 当前版本没有本地更改
点击 测试差异 或 测试三向差异 以检查外部差异工具是否能从 PyCharm 成功启动。
请点击 OK 以保存更改。
从 PyCharm 启动外部差异工具
在 差异查看器 中查看差异时,点击
,PyCharm 将启动已配置的外部 diff 工具。