Visual Studio Code - 是不是有类似 Notepad ++ 插件的比较功能?

Posted

技术标签:

【中文标题】Visual Studio Code - 是不是有类似 Notepad ++ 插件的比较功能?【英文标题】:Visual Studio Code - is there a Compare feature like that plugin for Notepad ++?Visual Studio Code - 是否有类似 Notepad ++ 插件的比较功能? 【发布时间】:2015-07-20 07:12:33 【问题描述】:

是否有类似 Notepad++ 插件的比较功能?

【问题讨论】:

是的,有,但是它集成了版本控制工具,你不能真的要求它比较两个任意文件,但是你可以要求版本控制比较同一个文件的两个修订版, 或您在工作文件夹中的当前文件以及最后签入/提交的修订版。 @lasse vscode 现在可以比较两个任意文件。看我的回答***.com/a/45091703/1081043 【参考方案1】:

右键单击第一个文件并选择

然后右键单击第二个文件并选择

截图:

【讨论】:

如何比较两个未保存的新建文件? @dc7a9163d9 同理,右键选择比较。 @AmrElAdawy 我的意思是比较两个缓冲区(例如,Untitled-1 和 Untitled-2,没有物理文件) @dc7a9163d9,是的,这仍然与保存两个无标题的方式相同。流程相同的步骤。我试过了,效果很好。 在资源管理器视图中,您最初可能找不到“打开编辑器”部分。只需点击资源管理器视图设置的三个点即可看到可以勾选这个选项。【参考方案2】:

您可以比较资源管理器中工作文件部分或文件夹部分的文件。您还可以从命令面板触发全局比较操作。

    打开一个包含您需要比较的文件的文件夹, 使用 SHIFT 选择两个 右键单击“比较所选内容”

【讨论】:

是的,我刚刚注意到有选择要比较的文件的选项,但仅限于打开文件夹中的文件。 你也没有指定怎么做。 公平地说,问题只是想知道是否有一个功能,而不是如何触发它:) “必须在打开的文件夹内”的限制对我来说似乎很烦人,因为我通常打开一个文件夹,然后同时处理外部文件。但是 vs code 本身提供了一个简单的解决方案:在文件夹资源管理器选项卡中,单击 3 个点,然后切换“打开编辑器”(默认情况下禁用,至少在 Ubuntu 版本上):这样你可以选择任何打开的用于并排比较的文件,而不仅仅是文件夹中的文件。也许这是一个明显的解决方案,但我花了一段时间才弄清楚:希望这可以帮助某人。 这些天你可以运行code -d <file 1> <file 2>【参考方案3】:

这是我最喜欢的方式,我认为这比“选择进行比较,然后比较...”步骤更简单。

打开左侧文件(不可编辑) F1 比较活动文件与... 选择右侧文件(可编辑) - 您可以从下拉列表中选择最近使用的文件,或单击资源管理器面板中的任何文件。

这适用于任何任意文件,即使是不在项目目录中的文件。您甚至可以只创建 2 个新的无标题文件并在其中复制/粘贴文本。

【讨论】:

您知道,是否有一种方法可以在比较窗口中编辑两个文件? 据我所知没有。奇怪的是不能同时编辑两个窗口。 这很好。您知道将差异从左推到右的自动化方法吗?除了手动复制/粘贴? 如何出来比较选项@wisbucky【参考方案4】:

如果您想将项目/目录中的文件与外部文件(这是我用来比较文件最常用的方式)进行比较,您可以轻松拖放外部文件进入编辑器的选项卡,只需在其中一个上使用命令:“将活动文件与...进行比较”,在新弹出的选择窗口中选择另一个。这似乎是最快的方法。

【讨论】:

【参考方案5】:

有一个名为Partial Diff 的插件,它有助于比较文件内、不同文件或剪贴板中的文本选择。

【讨论】:

我喜欢 Partial Diff。选择一些文本,将其设置为左侧,再选择一些,将其设置为右侧。瞧。 是的,我还发现 Partial Diff 非常好用,非常有用。 F1 菜单中有一个原生的“与剪贴板比较”选项【参考方案6】:

另一个选项是使用命令行:

code -d left.txt right.txt

注意:您可能需要先将code 添加到您的路径中。见:How to call VS Code Editor from command line

【讨论】:

这正是我想要的。【参考方案7】:

在您的终端类型中:

code --diff file1.txt file2.txt

将在 VS Code 中打开一个选项卡,显示两个文件的差异。

【讨论】:

【参考方案8】:

这里是 a link 到市场以进行扩展。扩展“compareit”有助于比较两个文件,您可以从当前项目和计算机或剪贴板上的其他目录中选择。

【讨论】:

我认为你可以在没有插件的情况下完成这两个目标【参考方案9】:

右键单击第一个文件单击“选择进行比较”。

点击第二个文件点击“与选定的比较”

【讨论】:

【参考方案10】:

我找到了一个对我来说最快的流程,首先将键盘快捷键Alt+k 与“将活动文件与...进行比较”(#a) 相关联。 (与 wisbucky 的答案类似,但进一步改进且更加循序渐进。)

然后,比较两个文件:

    打开或聚焦文件 B(默认情况下可在比较视图中编辑)。例如。通过从文件资源管理器拖放到 VS Code 的中心。 打开或聚焦文件 A。 按Alt+k,将显示一个以文件B为中心的快速打开菜单。 请按Enter

结果:文件 A 在左边,文件 B 在右边。 (在 VS Code 1.27.1 上测试)

备注

#a - 为此,请按 Ctrl-k Ctrl-s 以显示键盘快捷键,在顶部搜索框中键入 compare,然后双击“比较活动文件与”的“键绑定”列...”,按Alt+k 然后按Enter 分配它。

【讨论】:

这是另一种查找可用比较命令的方法。按“CMD + Shift + P”(在 Mac 上)或“Ctrl + Shift + P”,然后输入“比较”,您可以选择您想要的任何选项。【参考方案11】:

我有 Visual Studio Code 1.27.2 版并且可以这样做:

比较两个文件

    将这两个文件拖放到 Visual Studio Code 中 选择这两个文件并从上下文菜单中选择选择比较 然后你会看到差异 使用 Alt+F5 可以跳转到下一个差异

比较两个内存中的文档或标签

有时,您没有两个文件,但想从某处复制文本并进行快速比较,而无需先将内容保存到文件中。然后你可以这样做:

    Ctrl+N 两次打开两个选项卡: 将您的第一个文本示例从剪贴板粘贴到第一个选项卡,将第二个文本示例从剪贴板粘贴到第二个选项卡 使用选择比较选择第一个文档Untitled-1: 选择第二个文档 Untitled-2 并带有 Compare with Selected: 然后您会看到差异:

【讨论】:

谢谢,默认白色主题比深色主题好。 有没有办法(或插件)来比较 2 个不同文件夹(及其子文件夹)中的所有文件? @Tohid,你用谷歌搜索了吗? vscode compare two folders?第一个结果是 MoshFeu 的 Compare Folders。可能是您正在寻找的。​​span> 这个答案要好得多,因为它不假设要比较的文件在同一个目录树中。谢谢 正是我长期以来一直需要的!【参考方案12】:

就我而言,我试图在 VS 代码的打开编辑器中对文件使用比较选项,但是打开的编辑器不可见。在这种情况下,要访问打开的编辑器,请单击资源管理器旁边的 3 个点并选中打开的编辑器选项。

【讨论】:

以上是关于Visual Studio Code - 是不是有类似 Notepad ++ 插件的比较功能?的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio Code 中的打字稿是不是有自动导入功能?

Visual Studio Code 中是不是有快速更改选项卡功能?

请问Visual Studio Code(不是Visual Studio)怎么设置文件关联。

如何评价Visual Studio Code

Visual Studio(不是 VS Code)可以进行远程 ssh 开发吗?文档说是的,但是

Visual Studio Code 是不是支持与远程服务器同步代码?