在 VS Code 中使用 GitHub

在 VS Code 中使用 GitHub

原文:Working with GitHub in Visual Studio Code

GitHub与 Visual Studio Code 结合使用可让您共享源代码并与他人协作。GitHub 集成是通过GitHub Pull Requests and Issues扩展实现的。

安装 GitHub 拉取请求和问题扩展

要在 VS Code 中开始使用 GitHub,您需要创建一个帐户并安装GitHub Pull Requests and Issues扩展。在本主题中,我们将演示如何在不离开 VS Code 的情况下使用 GitHub 的一些您最喜欢的部分。

如果您不熟悉源代码控制并希望从那里开始,您可以了解 VS Code 的源代码控制集成

GitHub 拉取请求和问题入门#

安装GitHub Pull Requests and Issues扩展后,您需要登录。按照提示在浏览器中使用 GitHub 进行身份验证并返回到 VS Code。

扩展登录

如果您没有被重定向到 VS Code,您可以手动添加您的授权令牌。在浏览器窗口中,您将收到您的授权令牌。复制令牌,然后切换回 VS Code。在状态栏中选择Signing in to github.com…,粘贴令牌,然后按 Enter。

设置存储库#

克隆一个仓库#

您可以使用命令面板中的Git: Clone命令 ( Ctrl+Shift+P ) 或使用源代码管理视图中的克隆存储库按钮(当您没有打开文件夹时可用)从 GitHub 搜索和克隆存储库。

从 GitHub 克隆

与现有的存储库进行身份验证

当您在 VS Code 中运行任何需要 GitHub 身份验证的 Git 操作(例如推送到您所属的存储库或克隆私有存储库)时,就会通过 GitHub 启用身份验证。您不需要为身份验证安装任何特殊的扩展;它内置于 VS Code 中,因此您可以有效地管理您的存储库。

当您执行需要 GitHub 身份验证的操作时,您会看到登录提示:

认证提示

按照步骤登录 GitHub 并返回 VS Code。如果对现有存储库的身份验证无法自动进行,您可能需要手动提供个人访问令牌。有关详细信息,请参阅个人访问令牌身份验证

请注意,有多种方法可以对 GitHub 进行身份验证,包括使用您的用户名和密码进行双重身份验证 (2FA)、个人访问令牌或 SSH 密钥。有关每个选项的更多信息和详细信息,请参阅关于对 GitHub 的身份验证

注意:如果您想在不将内容克隆到本地计算机的情况下处理存储库,您可以安装GitHub 存储库扩展以直接在 GitHub 上浏览和编辑。您可以在下面的GitHub 存储库扩展部分了解更多信息。

编辑器集成#

悬停#

当您打开一个存储库并且用户被 @ 提及时,您可以将鼠标悬停在该用户名上并看到一个 GitHub 风格的悬停。

用户悬停

对于#提及的问题编号、完整的 GitHub 问题 URL 和存储库指定的问题,也有类似的悬停。

问题悬停

建议#

用户建议由“@”字符触发,问题建议由“#”字符触发。在编辑器和源代码控制视图的输入建议。

用户和问题建议

建议中出现的问题可以使用GitHub Issues: Queries (githubIssues.queries)设置进行配置。Queries使用GitHub 搜索语法

您还可以设置 GitHub Issues: Ignore Completion Trigger (githubIssues.ignoreCompletionTrigger) 和 GitHub Issues: Ignore User Completion Trigger(githubIssues.ignoreUserCompletionTrigger).来配置哪些文件显示这些建议。这些设置采用一组语言标识符来指定文件类型。

// Languages that the '#' character should not be used to trigger issue completion suggestions.
"githubIssues.ignoreCompletionTrigger": [
  "python"
]

拉取请求#

拉取请求视图中,您可以查看、管理和创建拉取请求。

拉取请求视图

用于显示拉取请求的查询可以使用GitHub Pull Requests: Queries (githubPullRequests.queries) 设置进行配置,Queries需要使用GitHub 搜索语法

"githubPullRequests.queries": [
    {
        "label": "Assigned To Me",
        "query": "is:open assignee:${user}"
    },

创建拉取请求#

您可以使用GitHub Pull Requests: Create Pull Request命令或使用视图中的**+** Pull Requests按钮来创建拉取请求。如果您尚未将分支推送到远程,扩展程序将为您执行此操作。您可以使用上次提交消息、分支名称或为拉取请求编写自定义标题。如果您的存储库有拉取请求模板,这将自动用于描述。

创建拉取请求

回顾#

可以从“拉取请求”视图中查看拉取请求。您可以从拉取请求描述中分配审阅者和标签、添加评论、批准、关闭和合并所有内容。

审查拉取请求

在描述页面,您还可以使用Checkout按钮轻松地在本地检出拉取请求。这将在 Pull Request视图中添加一个新的Changes,您可以从中查看当前更改以及所有提交和这些提交中的更改的差异。被评论过的文件用菱形图标装饰。要查看磁盘上的文件,您可以使用Open File内联操作。

拉取请求的变化

此视图中的差异编辑器使用本地文件,因此文件导航、智能感知和编辑工作正常。您可以在编辑器中对这些差异添加评论。支持添加单个评论和创建完整评论。

问题#

创建问题#

可以通过“问题”视图中的+按钮以及使用GitHub Issues: Create Issue from Selection and GitHub Issues: Create Issue from Clipboard commands命令来创建问题。它们也可以使用“TODO”注释的代码操作来创建。

从 TODO 创建问题

您可以使用GitHub Issues: Create Issue Triggers (githubIssues.createIssueTriggers) 设置为代码操作配置触发器

默认的问题触发器是:

"githubIssues.createIssueTriggers": [
  "TODO",
  "todo",
  "BUG",
  "FIXME",
  "ISSUE",
  "HACK"
]

处理问题#

从“问题”视图中,您可以查看您的问题并对其进行处理。默认情况下,当您开始处理问题时,将为您创建一个分支。您可以使用GitHub Issues: Working Issue Branch (githubIssues.workingIssueBranch)设置来配置分支的名称。Source Control视图中的提交消息输入框将填充一条提交消息,可以使用GitHub Issues: Working Issue Format SCM (githubIssues.workingIssueFormatScm)进行配置。

工作问题

如果您的工作流程不涉及创建分支,或者如果您希望每次都被提示输入分支名称,您可以通过关闭GitHub Issues: Use Branch For Issues (githubIssues.useBranchForIssues)设置来跳过该步骤。

GitHub 存储库扩展#

GitHub存储库扩展可以让你快速浏览,搜索,编辑,并直接从Visual Studio代码中提交到任何远程GitHub的仓库,而无需在本地克隆库。这对于许多场景来说既快速又方便,您只需要查看源代码或对文件或资产进行小的更改。

GitHub 存储库扩展

打开存储库#

安装 GitHub Repositories 扩展后,您可以使用GitHub Repositories: Open Repository…命令从命令面板 ( Ctrl+Shift+P ) 或通过单击状态栏左下方的远程指示器打开存储库.

状态栏中的远程指示器

当您运行Open Repository命令时,您然后可以选择是从 GitHub 打开存储库、从 GitHub 打开拉取请求,还是重新打开您之前连接到的存储库。

如果您之前没有从 VS Code 登录到 GitHub,系统会提示您使用 GitHub 帐户进行身份验证。

GitHub 存储库扩展打开存储库下拉菜单

您可以直接提供存储库 URL 或通过在文本框中键入来搜索 GitHub 以查找所需的存储库。

选择存储库或拉取请求后,VS Code 窗口将重新加载,您将在文件资源管理器中看到存储库内容。然后,您可以打开文件(使用完整的语法突出显示和括号匹配)、进行编辑和提交更改,就像处理存储库的本地克隆一样。

与使用本地存储库的一个区别是,当您使用 GitHub 存储库扩展提交更改时,更改会直接推送到远程存储库,类似于您在 GitHub Web 界面中工作。

GitHub Repositories 扩展的另一个功能是,每次打开存储库或分支时,您都会从 GitHub 获得可用的最新源。您不需要像使用本地存储库那样记住拉取刷新。

切换分支#

您可以通过单击状态栏中的分支指示器轻松地在分支之间切换。GitHub Repositories 扩展的一大特色是您可以切换分支而无需存储未提交的更改。该扩展程序会记住您的更改并在您切换分支时重新应用它们。

状态栏上的分支指示器

远程资源管理器#

您可以使用活动栏上可用的远程资源管理器快速重新打开远程存储库。此视图向您显示以前打开的存储库和分支。

远程资源管理器视图

创建拉取请求#

如果您的工作流使用拉取请求,而不是直接提交到存储库,您可以从源代码控制视图创建新 PR。系统会提示您提供标题并创建一个新分支。

在源代码管理视图中创建拉取请求按钮

创建拉取请求后,您可以使用GitHub 拉取请求和问题扩展来审查、编辑和合并您的 PR,如本主题前面所述。

虚拟文件系统#

如果本地机器上没有存储库的文件,GitHub 存储库扩展会在内存中创建一个虚拟文件系统,以便您可以查看文件内容并进行编辑。使用虚拟文件系统意味着某些假定本地文件的操作和扩展未启用或功能有限。任务、调试和集成终端等功能未启用,您可以通过远程指示器悬停中的功能不可用链接了解对虚拟文件系统的支持级别。

带有功能的远程指示器悬停不可用链接

扩展作者可以在Virtual Workspaces 扩展作者指南 中了解有关在虚拟文件系统和工作区中运行的更多信息。

继续工作… #

有时,您会希望切换到在支持本地文件系统以及完整语言和开发工具的开发环境中处理存储库。GitHub 存储库扩展使您可以轻松地将存储库克隆到本地或 Docker 容器(如果您安装了Docker和 Microsoft Docker 扩展),并使用**GitHub 存储库:继续工作…**命令可从命令面板 ( Ctrl +Shift+P ) 或通过单击状态栏中的远程指示器。

继续处理远程下拉菜单中的命令

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值