GitLens

> GitLens — 让Git历史、代码作者和文件变更一目了然的VS Code神级插件,解决“这行代码谁写的、为啥改”的日常困惑。 --- 先唠两句,我写代码最烦的不是bug本身,而是面对一段陌生代码时心里那十万个为什么:这行是谁写的?什么时候改的?当时commit message写了啥?有没有更早的版本可以对比?——以前我得开终端敲 `git log`、`git blame`,切来切去,效率低到爆炸。 直到我装了GitLens,真的,感觉像给VS Code装了个“时间机器+透视镜”。今天不整虚的,直接把我用了两年的心得全倒出来,保证你装完就回不去。 ## 这工具到底干啥的? 一句话:**把Git的威力直接塞进你的编辑器里**。它不是一个独立的Git客户端(那是SourceTree或者GitKraken的活),而是让你在写代码的当下,不用离开编辑器就能看到: - 每一行代码是谁、在哪个commit里写的(就是增强版`git blame`) - 当前文件完整的历史版本,点一下就能看旧代码长啥样 - 两个commit之间、两个分支之间到底改了啥(可视化diff) - 当前分支和远程分支的领先/落后情况 - 代码作者的头像、提交时间、commit信息,鼠标悬停就出来 说白了,它把“查Git记录”这个高频动作,从命令行搬到了你的鼠标右键菜单里,而且做得比命令行直观十倍。 ## 怎么下载?怎么装? 不用去官网下载安装包,它就是个VS Code扩展。你有两个方式: 1. **在VS Code里直接搜**:打开扩展面板(`Ctrl+Shift+X`),搜“GitLens”,看到那个下载量几千万、作者是Eric Amodio的,点Install就行。 2. **去官网看文档**:[GitLens官网](https://gitlens.amod.io/) 上面有详细说明,但下载还是得走VS Code市场。 **安装方法**:点Install后,重启VS Code(或者等它自动重载窗口),就完事了。不需要配置,开箱即用。如果你用的是VSCode Insider版或者Codium,也能装,兼容性很好。 ## 基础使用教程(看完就能用) 装好后,你会发现界面上多了几个东西。别慌,我按使用频率给你捋一遍: ### 1. 行内代码作者提示(最惊艳) 打开任意一个Git仓库里的文件,把鼠标停在一行代码上,你会看到这行代码的**最后修改者名字+时间**,就显示在行尾,淡淡的灰色。比如你看到`// 2024-03-12 张三`,瞬间知道这行是谁的责任。想关掉?设置里搜`gitlens.codeLens.enabled`,改成false就行。 ### 2. 点击行号旁边的“Blame”小字 在每行代码的行号右边,有一个小的“Blame”文字,点一下,整行代码后面会跟一串长长的信息:commit哈希、作者、日期、commit message。这就是`git blame`的可视化版。再点一下,收起。 ### 3. 右键菜单——最常用的入口 选中一段代码,右键,你会看到多了几个选项: - **GitLens: Show History**:看这段代码的完整修改历史,每次commit改了哪些地方,有对比图。 - **GitLens: Compare with HEAD**:把当前选中版本和最新版本对比,看你自己改了啥。 - **GitLens: Open Changes**:直接打开这个文件的diff视图,左右分栏。 我日常用“Show History”最多。比如同事改了个函数,我右键→Show History,立刻看到他从哪一版开始改的,改了哪些行,为什么改(看commit message),全程不离开编辑器。 ### 4. 左侧边栏的“GitLens”图标 装好后左侧会多一个像是“分叉”的图标。点开它,你能看到: - **仓库**:所有分支、标签、远程,比VS Code自带的源码管理面板详细得多。 - **文件历史**:当前打开文件的每一次提交记录,点哪个就能看哪个版本的完整内容。 - **搜索**:按作者、按commit message搜索,超好用。 ## 进阶技巧(用熟了再来看) 如果你已经用了一周,觉得“就这?”那你就错了。下面这几个功能才是GitLens的杀手锏: ### 技巧1:悬停看详情,不用点开 把鼠标悬停在任意一行代码上,不点击,会弹出一个悬浮窗,显示这行代码的完整提交信息:作者头像、提交时间、完整message、还有“Open Changes”按钮。比点右键快一倍。 ### 技巧2:比较任意两个分支 右键任意一个分支(在源码管理面板或GitLens侧边栏),选“Compare with Working Tree”或者“Compare with Selected”,它会给你一个分支差异总览:哪些文件改了,哪些文件是新增的,每个文件里具体改了哪几行。这个功能做code review的时候简直救命。 ### 技巧3:用“Follow”模式追踪重命名 如果一个文件被重命名了,普通git历史会断掉。GitLens的文件历史里有个“Follow”开关,打开后它会自动追踪重命名,看到这个文件的前世今生。这个细节很多老手都不知道。 ### 技巧4:交互式Rebase(危险但强大) 在GitLens侧边栏的分支上右键,选“Interactive Rebase”,它会可视化地让你拖拽commit顺序、修改commit message、合并commit。比命令行安全多了,至少你能看到图形界面。但注意,rebase会改写历史,**千万别在共享分支上乱用**。 ### 技巧5:自定义CodeLens显示内容 默认行尾显示“作者+时间”,但其实你可以改。设置里搜`gitlens.codeLens.authors.enabled`,把显示格式改成`${author} · ${date} · ${message}`,这样能看到更全的信息。我习惯显示成`${author} (${date})`,简洁。 ## 踩坑提醒 - **性能问题**:如果你打开的是超大仓库(比如几万文件),GitLens默认会加载所有历史,可能卡。解决:设置里`gitlens.advanced.blame.customArguments`加`--ignore-revs-file .git-blame-ignore-revs`,或者关掉行内CodeLens,只在需要时手动点。 - **不要和“Git History”插件混用**:功能重叠,而且两个一起装会有右键菜单冲突,留一个就行。 - **付费功能**:GitLens现在有免费版和Pro版。免费版已经够用99%的日常场景,Pro版多了“远程仓库可视化”“团队统计”这种非刚需功能。别急着花钱,先用免费的。 ## 最后说两句 GitLens不是那种“装了就忘”的插件,它是真的会改变你写代码习惯的工具——从“出了问题才查git”变成“边写边看历史”。尤其是接手老项目、看别人代码、做code review的时候,那种“一切尽在掌握”的感觉,真的爽。 如果你还没装,现在就去扩展面板搜一下,五分钟装上,然后打开一个Git仓库试试。我赌你用完一天就回不去了。 有问题评论区问我,看到就回。