codeblock添加tools实现git log查看

说明

无意中了解到codeblock的tools功能,可以通过添加一个tool,实现指定命令的执行,就想添加一个tool来查看当前工程的git log,经过实践证明是可行的,但因为中间也遇到很多问题,所以记录一下。

过程

  • 首先说明我是在windows下使用codeblock,所以中间有很多波折,在linux下的话应该简单许多。
  • 其实说是波折,主要原因是我不知道windows启动一个exe之后如何传入命令。因为codeblock的tools本质就是启动一个指定的程序,可以自定义启动时带的参数,再就是可以指定工作目录,就这么简单。
  • 那么我首先想到的就是启动git.exe,传入的参数为log,这样就可以达到目的。事实证明这样是可以的,可以弹出一个窗口,显示git log的内容。但是,我想不弹出窗口,直接在codeblock中显示结果,这样也是可以的,codeblock的tools提供了4个Launching options,第一个是弹出窗口的,第二个是不弹出窗口,直接将结果输出的,三和四是啥我还不知道。所以我就选了第二个选项,结果却是在codeblock输出了,但是此时出现了另外一个问题,就是codeblock输出的内容是按gbk编码显示的,而git log的输出是utf-8,所以就会显示乱码。怎么解决呢?我可以使用git config --global/–local i18n.logoutputencoding gbk将全部仓库或者当前仓库的git log设置为gbk编码输出,这样在codeblock的显示就正常了;但但是,这样的话在git bash中使用git log命令时显示就成乱码了,因为git bash的输出是按utf-8显示的,愁人,如何兼顾这两点呢?
  • 我先想到将git bash设置为gbk编码显示,但是失败了。
  • 又想到可以将codeblock设置为utf-8编码,但是最终发现只能设置editor的编码,而输出是在codeblock的控制台窗口,这个编码改不了。
  • 最后想了一个办法,就是先将本地仓的log编码设置为gbk,然后输出log,万事再把编码还原回utf-8,这样是可以的,仍然是一个tool,只不过是执行了三条命令,可行,于是实践。
  • 方案是可行的,但中间遇到一些其他问题。首先是我将启动程序设置为git.exe 参数为三条命令,失败了,不能这样传参;然后又将git.exe改成了git_bash.exe,依然不行;又改成cmd.exe,还是不行,发现根本不是这样用的。最后是用poweshell解决的,它可以将我设置的参数传进去执行,只是多条命令时,要用’;'分隔开(中间试过&&和-and,都不行)。

最终方案

所以最终的解决办法是:
将启动程序设置为powershell.exe,参数为 git config --local i18n.logoutput gbk; git log; git config git config --local i18n.logoutput utf-8,Launching options选第二个,工作目录为${PROJECTDIR}。如此解决。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值