在 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 搜索和克隆存储库。

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

当您在 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”注释的代码操作来创建。

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

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

如果您之前没有从 VS Code 登录到 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 ) 或通过单击状态栏中的远程指示器。

在 VS Code 中使用 GitHub相关推荐

  1. 【AIGC使用教程】GitHub Copilot 免费注册及在 VS Code 中的安装使用

    欢迎关注[AIGC使用教程] 专栏 [AIGC使用教程]SciSpace 论文阅读神器 [AIGC使用教程]Microsoft Edge/Bing Chat 注册使用完全指南 [AIGC使用教程]Gi ...

  2. 在 VS Code 中使用 Git

    1.VS Code安装 2.在VS Code中登录Github账号 3.Git 安装 4.Git配置 5.新建远程仓库并用命令行提交 6.使用VSCode提交 1.VS Code安装 到vs code ...

  3. 在Jenkins中获取GitHub对应Repository的Resource Code

    1):Install Jenkins 请看如下链接: https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins 2):Install ...

  4. 在 VS Code 中轻松 review GitHub Pull Requests

    相信大家在平时工作或者自己的项目中,一定都有在 GitHub 上进行 Code Review 的经历.对于韩老师来说,不论是平时工作的项目,还是自己的业余项目,代码基本都是在 GitHub 上.所以, ...

  5. 【Git/GitHub/VSCode】Git提交时使用EMOJI表情、在VS Code中使用emoji commit

    文章目录 1. 为什么要使用emoji 2. emoji来源.用法和个人统一规范 3. VS Code中提交时使用emoji 这篇文章属于本人参考诸多博客.教程.文档等资料,所撰写的「玩转Git/Gi ...

  6. 用VS Code直接浏览GitHub代码 | 12.1K星

    金磊 发自 凹非寺 量子位 报道 | 公众号 QbitAI "看GitHub代码"这件事上,还在网页上点点点? 用开发工具看代码,不香吗? 于是,它来了,它来了--可以直接用VS ...

  7. 推荐 2 个用 VS Code 直接浏览 GitHub 代码!只需要 1s !

    大家好,我是你们的 猫哥,一个不喜欢吃鱼.又不喜欢喵 的超级猫 ~ 喵~  喵~ 喵~ 正文开始了,上车坐稳扶好了~ 今天给大家推荐可以直接在 VS Code 界面读取 GitHub 项目的代码,实现 ...

  8. 使用C#在VS Code中编写Notebook

    提到大名鼎鼎的Jupyter Notebook,大家应该都听说过.它是基于网页的用于交互计算的应用程序.其可被应用于全过程计算:开发.文档编写.运行代码和展示结果. 但是Jupyter Noteboo ...

  9. Web Template Studio 发布!在 VS Code 中轻松创建 Web 应用

    作为一个 Web 应用开发者,Scaffolding Tool(脚手架工具)一定是在创建项目时的重要工具.许多开发者会习惯于使用基于 CLI 的脚手架工具来创建 Web 应用,也有许多开发者喜欢使用类 ...

最新文章

  1. Python 函数参数有冒号 声明后有- 箭头 返回值注释 参数类型注释
  2. CBNet和DetectoRS:COCO数据集霸榜模型
  3. html form提交前验证,form表单提交前验证实现方法
  4. 阿里云地图添加点线面
  5. WAF果真是个好东西
  6. C#面向对象名词解释(四)
  7. 单元测试之关于JaCoCo和PowerMock冲突导致类覆盖率为0的问题
  8. What are definitions of ​Model, Inference and Algorithm and its associations ?
  9. 使用多行sql字符串时,要注意不要忽略了空格
  10. 开工第一天,这个超时问题把我干趴下了
  11. 【集合】JDK 7 HashMap集合的ConcurrentModificationException 原因
  12. 策略模式思想及示例代码(Strategy)
  13. (转载)Android studio 导入或依赖第三方库失败
  14. 在虚拟机环境(CentOS7系统)下将kubernetes中部署服务成功,但在虚拟机外部无法访问到服务...
  15. 【BZOJ3294】放棋子(动态规划,容斥,组合数学)
  16. 「 微信黑科技 」神奇符号
  17. 从oracle到mysql模型转换的自动化实现
  18. ppt导出1000dpi的图
  19. 你为什么要写博客?—— 优秀博主必读
  20. 什么是keep-alive?怎么去使用?简述keep-alive

热门文章

  1. AqseMarkets,您身边最专业的理财专家
  2. Power BI动态条形图展示数据趋势(头条、抖音常见)
  3. Microsoft Visual Studio 2010 下载及学习资料大全
  4. Python系列(四)之Python面向对象编程
  5. 手把手教你仿一个知乎日报Android客户端(一)多图
  6. 企业微信机器人实现自动推送天气预报
  7. 从java直接上手SpringBoot【CTGU启明星】
  8. 大数据运维3--zookeeper和kafaka的简单使用
  9. 2015 ICPC World Final
  10. Bioinformatics Armory第16题:Base Filtration by Quality