VS Code与git更配哦
插播一段广告:
我们是飞书前端团队, 如果你对技术充满热情, 想亲历业务的飞速增长, 欢迎加入我们, 请关注内推链接.
更多面试问题, 可以添加wx: ruanxiaoting_
使用VS Code
作为你的默认git editor
,用做git difftool
默认编辑器,让我们看下how to do it!
TLDR
要让 git 默认使用 VS Code,首先需要确保可以从命令行运行 VS Code,如先决条件部分所述。
然后,运行命令git config --global -e
编辑全局配置,并添加以下内容:
[core]
editor = code --wait
[diff]
tool = vscode
[difftool "vscode"]
cmd = code --wait --diff $LOCAL $REMOTE
[merge]
tool = vscode
[mergetool "vscode"]
cmd = code --wait $MERGED
为什么要将 VS Code 设为默认的 Git 编辑器, Diff Tool 或 Merge Tool ?
这是个人选择!那里有很多很多选择。最重要的是,工具应该补充的工作流程,而不是妨碍。
我会解释我的决定,也许它会让你深入了解什么最适合你。一句话,我更喜欢在我的代码编辑器中尽可能多地做。
我们可能会遇到下面的让人别扭的时候:
- 如果我正在执行一个交互式 git 命令,需要我的输入来编辑和查看一大块文本,我更愿意留在我的代码编辑器中并保持相同的思维模式。
- 我还没有使用一些与 Git 相关的 Linux 命令行工具,比如 Nano 来获得必要的肌肉记忆,我忘记了命令!🙈简直不能更碍事了。
- 我一般更喜欢在应用程序之间进行较少的切换。我更愿意切换到代码编辑器的另一个选项卡而不是单独的窗口。
- 对于差异,我更喜欢在 GUI 的编辑器中查看它。
- 一些合并冲突要求很高,我喜欢跳转到源文件以获得完整的图片,如果我可以在 VS Code 中完成,我可以使用熟悉的快捷方式。
- 如果我可以在我的代码编辑器中完成这一切,我就有了一个一致的颜色主题,无需进一步配置。
先决条件
需要确保可以从命令行运行 VS Code,然后才能将其设置为默认编辑器, Diff Tool 或 Merge Tool 。你可能需要安装它。
要对此进行测试,请从命令行运行该命令code --help
。如果没有看到一些帮助输出,则意味着目前无法从命令行运行 VS Code。
可以按照以下步骤进行纠正:
- Windows:需要编辑环境变量,并将的 VS Code 安装位置添加到PATH变量中。或者可以重新安装并确保它在安装向导中选择它(有一个选项)。
- macOS:
Shell Command: Install 'Code' command in path
从命令面板中选择。 - Linux:确保通过.deb或.rpm包安装了 VS Code 。
将 VS Code 设为默认编辑器
默认的 Git 编辑器是Nano。
这就是 Nano 查找提交消息的方式。
这就是 VS Code 查找提交消息的方式。
配置
要更新的 git 配置,请运行以下命令:
git config --global core.editor 'code --wait'
如果希望每次都打开一个新窗口,请添加--new-window
代码标志:
git config --global core.editor 'code --wait --new-window'
如果只想为当前项目更改它,请运行不带–global git 标志的相同命令。
不开心想回去?
git config --global --unset core.editor
将 VS Code 设为的默认 Diff Tool
默认的 Diff Tool 是vimdiff。
指定 Diff Tool 会影响git difftool
命令。git diff
使用difftool
在命令行上进行差异比较。该difftool
命令启动交互对话,询问选择要打开哪些变动的文件。
这就是 vimdiff 查找差异的方式。通过🕶!
这就是 VS Code 查找差异的方式。
会在上面屏幕截图的命令行中注意到,我的 diff 会话显示了 13 个已更改的文件。如果文件列表很长,可以随时以典型方式取消该过程:Ctrl+ C。可能需要缩小命令的范围以使该集合更易于管理。
配置
要从命令行配置它:
git config --global diff.tool vscode
git config --global difftool.vscode.cmd 'code --wait --diff $LOCAL $REMOTE'
这会将以下设置添加到的全局 Git 配置中:
[diff]
tool = vscode
[difftool "vscode"]
cmd = code --wait --diff $LOCAL $REMOTE
任你选择😁。
如果不喜欢 VS Code 作为的 Diff 工具,请运行该命令git difftool --tool-help
以查看更多选项。
使 VS Code 成为的默认 Merge Tool
git没有设置默认的 Merge Tool 。
发生冲突时,会在尝试拉取或推送更改时收到错误消息。运行git mergetool
将允许解决冲突。
运行 vimdiff 然后看起来像这样:
这就是 VS Code 中合并冲突的样子:
CodeLens 为提供解决冲突的选项。如果有 1 个以上的冲突,文档上方的右上角会出现一个工具栏,为提供列表浏览每个冲突的选项。
配置
要从命令行执行此操作:
git config --global merge.tool vscode
git config --global mergetool.vscode.cmd 'code --wait $MERGED'
这会将以下设置添加到的全局 Git 配置中:
[merge]
tool = vscode
[mergetool "vscode"]
cmd = code --wait $MERGED
任你选择😁。
如果不喜欢 VS Code 作为的 Merge Tool ,请运行该命令git mergetool --tool-help
以查看更多选项。
结论
设置 VS Code 来管理所有 git 需求很简单。如果想使用 VS Code 或坚持使用命令行工具,这只是一个个人偏好问题。
Happy Coding!🙂
原始链接: https://www.roboleary.net/vsc...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。