我正在使用Visual Studio代码进行angular2应用程序。要求是合并文件,因此,我想区分Netbeans IDE中发生的两个文件中的更改。是否有任何扩展可用于实现visual studio代码中的任务。
例如 - 通过区分以下更改来合并两个文件: -
请提出一些解决方案。
abc <-- text for understanding purpose
def
abc
我想区分两个组件文件并推送另一个组件文件,就像在Netbeans IDE中一样?是否有任何可用于Visual Studio代码的解决方案?
答案 0 :(得分:2)
(请务必查看第二个标题,因为这是更好的本机方式!)
这种方式也可以在旧版本的vscode上使用!还是一件好事! (甚至我们应该始终在最新版本上运行!vscode一直在变得越来越好)。
一种强大而酷炫的本地方法是在vscode中使用 git工具集!它仍然不是最流畅的方式!但是,如果您处于没有任何其他东西,没有时间或资源来使用其他任何东西的设置中,那么!另外,还需要启动git repo!我们开始:
首先,我们将使用git工具集的更改和差异功能。步骤如下:
提交所有当前更改
一次完成:将另一个文件复制过去,以diff放在当前文件的位置。并保存。
现在在git托盘中冷却,您可以在更改列表中看到该文件!单击它,差异编辑器将显示!
宾果游戏就是这样!您可以进行比较并直接进行更改!差异会一直实时发生。注意当前状态在右边。然后在那里进行更改。
下面是直接修改的示例,例如当前文件中缺少左侧部分
这是另一个示例(当前有加号)
总结一下! Git工具和vscode的差异是如此强大!而所有这一切都需要!唯一的问题是,如果需要,可以执行额外的提交和清理步骤!
这里有一些提示!如果您想使提交历史记录更干净!还是不要单独合并!您可以根据需要从历史记录中删除最后一次提交:无需进行硬重置,然后再次提交更干净的提交!
git reset --soft HEAD~1
您可以检查 How to cancel a local git commit
否则原子提交和合并提及就可以了!
此外,如果您需要的是能够从当前文件中保留很多内容!您可以将当前副本复制到其他地方!过去的其他文件进行比较!犯!然后再过去一个旧的!您将在右侧拥有旧的,并保持最新状态(不像上面所述),在这种情况下,效果很好! (有点麻烦,但您可能需要它。)
(可能需要更新版本的vscode)
打开要比较的文件
打开命令托盘
CTRL + SHIFT + P
类型file: compare
您可以看到不同的可能方式!对于文件,我们可以选择compare active file with
。
然后选择文件!该文件必须位于项目目录中。
然后选择一个文件,比较编辑器将打开
以上内容在我的兄弟计算机上的新vscode安装上进行了测试。起初我不确定它是否是核心的一部分!我只是确认是这样。这也消除了对涉及git的上述方法的需要!这是最好的原生方式。
以下是我建议的两个扩展名:
https://marketplace.visualstudio.com/items?itemName=jinsihou.diff-tool
简单易用!它将两个元素添加到右键单击菜单:
在当前文件中,右键单击->选择作为差异文件的第一个文件,再次选择一个文件以查看差异结果
选择进行比较,并与select进行比较再简单不过了!
要检查的另一个扩展名:
https://marketplace.visualstudio.com/items?itemName=fabiospampinato.vscode-diff
我更喜欢第一个!因为这与本机方式相比很多。而且在上下文菜单中拥有控件非常棒。
快速的Google搜索,您会发现很多工具!
合并是跨平台,开源的,而且不错!
在Linux和Debian中:
sudo apt install meld
否则,您可以在此处查看长列表:
https://www.jotform.com/blog/25-useful-document-and-file-comparison-tools/
https://stackify.com/code-merge-tools/
winMerge太多了(Windows的开源项目)