使用IntelliJ来区分两个任意文件

Gre*_*fey 57 diff intellij-idea

我真的很喜欢IntelliJ diff工具.我想知道是否可以使用此工具来区分两个任意文件.即不在IntelliJ项目中的文件.只需在文件系统中选择两个文件并区分它们?如果我想要区分两个字符串呢?在我的文本编辑器中,我只创建了两个新文档,粘贴文本并对其进行区分,然后在完成后不保存文件.这可能吗?

谢谢

ben*_*n75 58

找到这个命令行:

在MacOSX上:( IDEA EAP 11)

/Applications/IntelliJ\ IDEA\ 11.app/Contents/MacOS/idea diff /Users/ben75/file1.txt /Users/ben75/file2.txt
Run Code Online (Sandbox Code Playgroud)

在MacOSX上,当IDEA(11)打开时,它无法运行.

在Windows上:(IDEA EAP 12)

"C:\Program Files (x86)\JetBrains\IntelliJ IDEA 12.0\bin\idea.exe" diff C:\Users\ben75\file1.txt C:\Users\ben75\file2.txt
Run Code Online (Sandbox Code Playgroud)

即使IDEA已经开放,它也会运行.

尝试比较没有扩展名的文件(或不匹配的扩展名)时遇到问题

直接来自IDEA(EAP 12)

不是那么容易,但它有效......

  • 文件>打开...>选择"file1.txt"
  • 文件>打开...>选择"file2.txt"
  • 创建"收藏夹列表"并将这两个文件添加到此收藏夹列表中.(要做到这一点:ctrl +右键单击编辑器中的文件名选项卡>添加到收藏夹>选择刚刚创建的收藏夹列表 - 请参见截图)
  • 最后,打开"收藏夹"视图(Alt + 2或点击左侧或您的IDEA窗口).
  • 选择这两个文件
  • 右键单击:"比较两个文件"(或ctrl + D)

添加到收藏夹

  • 只选择了2个文件上的CRTL + D. 不需要与收藏夹挣扎. (20认同)
  • 问题是显式的两个ARBITRARY文件,尚未在项目视图中.您无法选择任何视图中不存在的两个文件,因此您必须为它们创建收藏夹. (13认同)

Dan*_*rey 43

IntelliJ Idea 13具有标记为与剪贴板比较的功能.此功能将当前打开的文件与您复制到剪贴板中的版本进行比较.这是一种轻松比较和合并两个文件的简单方法.它还可以用于比较两个任意代码块.无法弄清楚为什么一个块工作而另一个块不工作?使用此功能.

" 视图">"与剪贴板比较"显示此选项.我分配了一个易于记忆的键盘快捷键,让我可以快速访问此功能.

查看>与剪贴板比较


ses*_*ses 29

在" 项目"面板中选择2个文件,然后CTRL+D.

在此输入图像描述

  • 你如何选择不在项目中的 2 个文件? (2认同)
  • 好的,但问题是关于不在项目中的文件。 (2认同)

Slo*_*vaN 15

如果您需要将打开的文件与文件系统上的任意文件进行比较,我找到了更好的方法:

  • 在第一个文件的编辑器中,比方说 A.java。
  • Ctrl+Shift+A,你会看到: 操作搜索列表
  • 选择第二个“比较...”选项,您将看到“选择路径”对话框: 选择路径对话框
  • 选择硬盘上的任意文件并确认,您将看到 diff 窗口: 将任意文件的窗口与最初选择的窗口进行比较


nxh*_*oaf 14

从2018.2开始,IntelliJ正式支持它

对于Windows: Ctrl + Shift + A,然后键入“打开空白差异窗口”

在此处输入图片说明

在此处输入图片说明

对于Mac: Cmd + Shift + A,然后键入“打开空白差异窗口”

在此处输入图片说明

在此处输入图片说明

  • 我喜欢这种方法。该 Diff 窗口甚至支持从文件系统拖放! (4认同)
  • 或者,对于那些不愿意记住组合键的人,请选择“帮助/查找操作...”菜单项,然后键入“Open”(不幸的是,不是“diff”)。 (2认同)

Rus*_*lan 6

在 IntelliJ IDEA 2018.2 中,您可以打开一个空的差异查看器并将您想要比较的任何文本粘贴到其左右面板中。可以在 Find Action 对话框中找到新的 Open Blank Diff Viewer 操作。


Jos*_*sen 5

在终端上,您可以像这样直接使用提示启动器:

# Windows
idea.exe diff path1 path2

# MacOS/Linux
idea diff path1 path2
Run Code Online (Sandbox Code Playgroud)

至少对于MacOS(我不确定Windows),如果您通过“工具->创建命令行启动器...”创建了命令行启动器,则它非常简单,如下所示:

# Create some files to diff
echo "This is line 1" > file1.txt
echo "This is line 2" > file2.txt

# Diff with IntelliJ
idea diff file1.txt file2.txt
Run Code Online (Sandbox Code Playgroud)

请注意,这也适用于其他JetBrains应用程序。例如,使用WebStorm或PyCharm:

# Diff with WebStorm
webstorm diff file1.txt file2.txt
# Diff with PyCharm
charm diff file1.txt file2.txt
Run Code Online (Sandbox Code Playgroud)

参考