VS Code 中的源代码控制

Visual Studio Code 集成了源代码管理(SCM),让你可以直接在编辑器中使用 Git 和其他版本控制系统。Git 支持是内置的,你也可以从 Visual Studio Marketplace 安装其他 SCM 提供商的扩展。

集成的源码控制接口通过图形界面而非终端命令,提供访问 Git 功能。你可以执行 Git作,比如临时更改、提交文件、创建分支和解决合并冲突,而无需切换到命令行。

你在VS Code界面做的更改会与你的命令行Git作同步,所以你可以根据需要同时使用UI和终端。源代码控制界面与命令行并行工作,而非取代命令行。

前提条件

要在 VS Code 中使用 Git 功能,你需要:

  • VS Code 使用你机器的 Git 安装。在你的电脑上安装 Git 2.0.0 或更高版本

  • 提交更改时,Git 会使用你配置的用户名和邮箱。你可以用以下方式设置这些数值:

    git config --global user.name "Your Name"
    git config --global user.email "your.email@example.com"
    
提示

如果你是Git新手,git-scm网站是个不错的起点,里面有一本很受欢迎的在线书籍《入门指南》视频和速查表

开始使用仓库

VS Code 会自动检测你打开 Git 仓库的文件夹并激活所有源码控制功能。要开始使用新的或已有的仓库,你有几个选择:

  • 初始化新仓库:为当前文件夹创建一个新的Git仓库。

  • 克隆一个仓库:从GitHub或其他Git主机克隆一个现有仓库。

  • 打开远程仓库:使用GitHub Repositories扩展,使用仓库而不克隆到本地机器。

提示

你可以用“发布到GitHub”命令直接发布本地仓库到GitHub,这样可以创建一个新仓库,并一步推送你的提交。

了解更多关于克隆和发布仓库的信息。

源代码控制接口

VS Code 通过多个关键接口元素提供 Git 功能。这种UI集成让你无需知道终端命令即可执行Git作:

  • 源代码控制视图:用于常规 Git作的中心枢纽,如临时部署、提交和管理变更

    源控视图的截图显示分阶段的更改,以及差异编辑器显示并排的变更。

  • 源代码控制图:提交历史和分支关系的图形表示

    显示提交历史的源代码控制图截图。

  • 差异编辑器:并排文件比较,用于有效修改审查

    diff编辑器截图显示文件版本间的变更。

  • 额外的界面元素:上下文中的Git信息,如编辑器的排水指示器或Git的责备注释

    编辑器的排水槽指示器截图显示行变更,悬停显示Git指责信息。

常见工作流程

在承诺前审查变更

在提交更改之前,务必审查以确保准确性和质量。利用 VS Code 的 AI 功能对你的更改进行代码审查,并在编辑器中获取审核评论和建议。

代码审查结果截图,显示为编辑器叠加评论。

分阶段并提交变更

在源控视图中查看你的更改,然后通过选择每个文件旁边的+图标来进入文件阶段,或者一次性将所有更改都处于阶段。为了更细致的控制,可以先设置文件微分视图中的特定线条或选择。

源控视图中分阶段变更的截图。

在输入框输入提交信息,或在提交信息输入框中选择闪光图标(),利用AI根据你的分阶段修改生成提交信息。

用Copilot生成提交信息的截图。

了解更多关于分阶段变更和提交写作的信息。

与遥控器同步

当你的分支连接到远程分支时,VS Code 在状态栏显示同步状态,并在源代码视图中显示进出提交。你可以快速同步或执行单独的取、拉和推作。

源控视图的截图,显示同步按钮显示出出和入入更改。

了解更多关于如何使用仓库和远程设备。

解决合并冲突

遇到合并冲突时,VS Code 会在源代码视图中高亮冲突文件。打开一个包含冲突的文件,查看内联冲突标记。你有几种解决冲突的选项:

  • 使用内联编辑器作来选择如何直接在编辑器中解决冲突
  • 使用三向合并编辑器,可以并排查看变更和合并结果
  • 利用AI协助解决合并冲突

三路合并编辑器的截图。

了解更多关于解决合并冲突的信息。

使用分支、工作树和藏匿点

VS Code 支持多种工作流程以管理并行开发工作。

  • 在同一工作区内快速切换分支,处理不同的功能或修复。

    分支快速选择的截图,显示切换到分支或创建新分支的选项。

  • 使用 Git 工作树为不同分支创建独立的工作目录,以便同时处理多个分支。

  • 用 Git 仓库临时保存未提交的更改,方便快速切换上下文。

了解更多关于分支和工作树的作

查看提交历史

回顾提交历史有助于了解代码的变化。

  • 源代码控制图提供了分支结构和提交历史的可视化表示,突出显示进出提交。

    源代码控制图截图,显示提交历史和分支结构。

  • 资源管理器视图中的时间线视图显示特定文件的提交历史,让你了解它如何演变。你可以筛选时间线,只显示 Git 提交,或者包含本地文件的更改。

    时间线视图截图,显示文件提交历史。

了解更多关于使用图表和时间线视图及审查变更的信息。

处理GitHub拉取请求和问题

VS Code 与 GitHub 集成,直接在编辑器中提供拉取请求和问题管理。安装GitHub的拉取请求与问题扩展至:

  • 创建、审核并合并拉取请求
  • 查看和管理问题
  • 在不离开VS Code的情况下评论并批准PR
  • 去看PR分支,在本地审核变更

了解更多关于在 VS Code 中使用 GitHub 的信息。

其他源码控制提供商

VS Code 支持多个源代码控制提供者。虽然 Git 支持是内置的,但你可以安装其他版本控制系统的扩展,比如 Azure DevOps、Subversion 或 Mercurial。

在扩展视图中浏览可用的 SCM 提供者扩展(⇧⌘X(Windows,Linux Ctrl+Shift+X),通过搜索@category:“scm providers”.

下一步