VSCode批量代码比较

这篇具有很好参考价值的文章主要介绍了VSCode批量代码比较。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

最近因为工作原因,需要找出一个工程里面修改过的地方。VSCode里自带代码比较功能,可以高亮代码不同的地方。然而手动一个个打开文件来比较显然非常的繁琐,在网上检索后发现并没有相关的方法。因此,为了解决这个问题,在查阅了官方文档后,决定分享这个方法。

查阅文档

在The Visual Studio Code command-line interface中,有-d指令,可以打开差异编辑器(代码比较),需要输入两个文件夹的参数。

Argument Description
-h or --help Print usage
-v or --version Print VS Code version (for example, 1.22.2), GitHub commit ID, and architecture (for example, x64).
-n or --new-window Opens a new session of VS Code instead of restoring the previous session (default).
-r or --reuse-window Forces opening a file or folder in the last active window.
-g or --goto When used with file:line{:character}, opens a file at a specific line and optional character position. This argument is provided since some operating systems permit : in a file name.
-d or --diff <file1> <file2> Open a file difference editor. Requires two file paths as arguments.
-m or --merge <path1> <path2> <base> <result> Perform a three-way merge by providing paths for two modified versions of a file, the common origin of both modified versions, and the output file to save merge results.
-w or --wait Wait for the files to be closed before returning.
--locale <locale> Set the display language (locale) for the VS Code session. (for example, en-US or zh-TW)

因此,通过在VScode终端(或用win+R,输入CMD,用cd指令进入需要比较的文件夹)例如:

code  . -d 目标文件1路径 目标文件2路径
cd 目标文件目录
code  . -d 目标文件1路径 目标文件2路径

可以用CMD来进行操作意味着:通过编写bat批处理命令文件即可实现一键打开所有需要比较的代码。 

以我在桌面创建的compare文件夹为例,compare文件夹中包含了proj1和proj2文件夹,分别代表着修改前和修改后的工程文件,现在我们要找出哪些代码发生了变化:

VSCode批量代码比较

 在下方终端输入

code  . -d .\proj1\main.c .\proj2\main.c

 然后编辑器便打开了这两个文件的差异比较器,可以看到两个代码第六行有区别和变动。

VSCode批量代码比较

 通过依次输入下列的命令,即可以打开所有需要比对的文件:

code  . -d .\proj1\main.c .\proj2\main.c
code  . -d .\proj1\module1.c .\proj2\module1.c
code  . -d .\proj1\module2.c .\proj2\module2.c
code  . -d .\proj1\module3.c .\proj2\module3.c
code  . -d .\proj1\lib.h .\proj2\lib.h

 但索性这里的文件比较少,如果是一个比较大的工程,文件到达两位数时,手动输入这些代码也非常耗时耗力。这里推荐通过python来实现列出文件夹中的列表,并输出需要的指令(这里python文件创建在compare目录下,".\"可以指向当前所在目录)。

import os
temp=''
filelist = os.listdir('.\\proj1')
for sv in filelist:
    #通过该判断筛选掉需要读取的文件
    if(sv.find(".c")>0):
        #通过该判断筛选不需要读取的文件
        if(sv.find("h")<0):
            if(temp!=''):
                temp+='&'
            temp+="code  . -d .\\proj1\\"+sv+" .\\proj1\\"+sv
print(temp)

运行改代码后,成功导出了以下字符串 

code  . -d .\proj1\main.c .\proj2\main.c&code  . -d .\proj1\module1.c .\proj2\module1.c&code  . -d .\proj1\module2.c .\proj2\module2.c&code  . -d .\proj1\module3.c .\proj2\module3.c

在compare文件夹下创建新文本文档,重命名,将txt改为bat,右键编辑,将python运行后输出的字符串复制到其中,并保存。

(注:“&”可以一次性指向这些命令,如果没有“&”,只执行第一句。)

VSCode批量代码比较

保存后双击该bat文件即可,vscode会自动打开所有需要比较的代码文件。

VSCode批量代码比较

VSCode批量代码比较

 文章来源地址https://www.toymoban.com/news/detail-447637.html

 如果需要源文件进行学习的,可以点击下方链接来进行调试。

 点击前往下载(1C币)

如果帮到你的话,希望能给作者点点赞,有问题可以在评论区提问,看到会及时回复。 

 

到了这里,关于VSCode批量代码比较的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小白最近比较闲,于是整理了一些日常使用的VUE组件

        VUE中,给 Dom 元素动态添加样式。     比如判断通过页面传递过来的值和env文件中配置的值是否一致,来动态添加元素的类,同时类的样式在 Style 中已经写好。  此时动态类名需要在 Dom 元素加载完成前添加上,否则样式可能添加不上。  这种情况下可以在   computed

    2024年02月10日
    浏览(25)
  • Python 自动化指南(繁琐工作自动化)第二版:零、前言

    Al Sweigart 是一名软件开发人员和技术书籍作者。Python 是他最喜欢的编程语言,他是该语言的几个开源模块的开发者。他的其他书籍可以在他的网站上根据知识共享许可免费获得。他的猫现在重 11 磅。 Philip James 从事 Python 工作已经超过十年,是 Python 社区的常客。他的演讲主

    2023年04月08日
    浏览(45)
  • vscode拉取git代码到本地提示 在签出前,请清理存储库工作树

    最近使用vscode拉取git代码到本地提示“在签出前,请清理存储库工作树”,具体如图: 原因很简单,就是因为本地代码和git远程库代码存在冲突,也就是你改的文件,别人也做了修改,并且别人先于你提交了,当你再去拉取时就会发现如上提示,导致拉取失败。 操作原理 :就

    2024年02月13日
    浏览(35)
  • 推荐一个最近刚出的比较全面的多模态综述:Multimodal Deep Learning

    标题:Multimodal Deep Learning 网址:https://arxiv.org/abs/2301.04856 收录于:arxiv 2023   与其说这是一篇论文,倒不如说这是一本“书”。全文共 239 页,这其中还不包括封面、目录、参考文献等等的篇幅。   本书是一个研讨会的成果,在这个研讨会中,我们回顾了多模态方法,并

    2023年04月26日
    浏览(35)
  • 检测并批量导出项目文件中所有最近修改文件的实用工具

    本篇文章主要讲解工具的使用和操作教程,这是一个能够检测项目内最近修改的文件并保留路径导出文件的实用工具。 日期:2024年1月10日 这是一款可以帮助你自动检测并导出指定文件修改时间内的文件及文件目录的实用工具,在复杂的项目目录中有一天团队修改了很多文件

    2024年01月24日
    浏览(33)
  • VSCode拉取代码时提示:在签出前,请清理存储库工作树(供自己学习记录用)

    当在VSCode中修改了git项目的代码时,如果有其他人也和你同时修改了相同的文件代码,会导致写入冲突,这个时候如果拉取代码,就会给出冲突提示:在签出前,请清理存储库工作树。 由于是修改代码冲突,所以只要下面三行代码就够了(在VSCode新建或者打开终端,在终端输

    2024年02月16日
    浏览(31)
  • 最近基于深度学习大火的AIGC将会抢工作者的饭碗?

    NLG | CLIP | Diffusion Model GAN | AIGC | Stable Diffusion 随着CLIP、DALL·E、Diffusion Model、Magic3D、Stable Diffusion等技术的快速发展,AIGC在全球各大科技巨头间可谓是高频词汇,连带着AI这个老生常谈的话题也一并火热起来。 去年三月,OpenAI发布了人工智能绘画产品DALL·E,后来升级到DA

    2024年02月11日
    浏览(35)
  • VScode Invoke-Expression: 无法将参数绑定到参数“Command”,因为该参数为空字符串

    打开vscode时发生错误:Invoke-Expression : 无法将参数绑定到参数“Command”,因为该参数为空字符串。 解决办法:在anaconda prompt base中输入:

    2024年02月07日
    浏览(27)
  • 掌握 GitHub Copilot:6个代码自动补全的必备技巧前言

    GitHub Copilot 是一款由人工智能驱动的编码助手,它能够根据上下文提供代码建议,极大地加快了开发过程。在之前介绍如何激活 Copilot 的文章之后,本文将深入探讨六个关键技巧,以高效利用 GitHub Copilot。 通过以下快捷键,可以更高效地使用 GitHub Copilot: **Tab:**接受建议。

    2024年04月16日
    浏览(49)
  • Excel无法打开文件新建 XLSX 工作表.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏解决办法【笔记】

    使用问题: 右键新建Microsoft Excel工作表,双击打开表格文件提示以下内容: “Excel无法打开文件新建 XLSX 工作表.xlsx,因为文件格式或文件扩展名无效。请确定文件未损坏,并且文件扩展名与文件的格式匹配” 。 确认了以下路径的文件正常打开 C:Program FilesMicrosoft Officero

    2024年02月11日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包