新开发人员生活的祸根是让您的环境设置为高效。当我说新开发人员时——我不仅仅指团队中的新开发人员,而是每个需要从事他们以前没有从事过的项目的开发人员。

每个项目都有自己的依赖项、所需的工具、所需的库、需要安装的一整套东西,并且在某些情况下,当项目有冲突的需求时可能会导致问题。我当然记得在切换项目时必须卸载/重新安装不同的工具版本,有时一天要卸载多次😱。

如果有办法解决这个问题怎么办?如果我们可以立即拥有一台预配置的开发人员机器,只需单击一个按钮就可以使用我们需要的正确工具吗?更好的是由云驱动,这样我们甚至不需要担心本地机器的电源,甚至可以从平板电脑或手机访问?这就是代码空间的用武之地。

GitHub Codespaces是云中的虚拟开发者机器,您可以通过 VS Code 访问,在桌面或浏览器中运行。您可以在 Codespace 中启动任何 GitHub 存储库,您所做的一切都在该 Codespace 中运行——您的代码在那里,您的调试会话在那里运行,您的终端在那里运行命令,就好像有人将开发机器传送到您的办公室一样!

设置代码空间

我最近一直在为我的团队开发一个项目,该项目包含一个我想作为 Docker 容器运行的 Python 应用程序,所以我认为将 repo 配置为在 Codespace 中运行会很有趣,所以当其他人在团队想要处理它时,他们不会有任何本地配置要做。

注册代码空间

需要为团队或组织设置代码空间 - 主要是为了有人可以付费!尽管声称生活中最好的东西是免费的,但您确实需要为 Codespace 付费。

在代码空间中打开你的仓库

第一步是在 Codespaces 中打开 repo。从 GitHub 的存储库中,选择 Codespaces from the Code 按钮,然后选择 New codespace

GitHub Codespaces 入门

这将在一个新的代码空间中设置您的代码 - 本质上是一个使用来自 GitHub 的默认图像的空白 VM。此映像基于 Ubuntu,并预配置了 Python。 Node、Docker 和其他东西。您可以在https://aka.ms/ghcs-default-image阅读此默认图像。

这张图片几乎包含了我需要的所有东西——工具都安装好了,VS Code 正在运行我的代码。

GitHub Codespaces 入门

我的代码是用 Python 编写的,并且这张图片安装了 Python 3.8。这意味着我可以创建一个 Codespace,并在几秒钟内运行我的代码!

配置您的代码空间

好消息是代码空间是可配置的——您可以在devcontainer.json文件中定义运行代码空间的容器的详细信息。我可以使用它来更改使用的图像,配置安装的工具,诸如此类。这样做的最大好处是确保我有正确的版本——默认容器当前安装了 Python 3.8,但我可以创建一个 devcontainer 文件来设置另一个版本。

我将从创建一个 devcontainer 文件开始。在 VS Code 中为您安装了 Codespaces 扩展,因此您可以使用命令面板访问选项来配置 devcontainer 文件。

我首先选择 Codespaces: Add Development Container Configuration Files...

GitHub Codespaces 入门

从那里我选择了从预定义的容器配置定义... 以使用预定义的图像。我还可以使用容器注册表中的任何容器。

GitHub Codespaces 入门

从图像中我选择了 Python 3 图像,并选择了 Python 3.10。

GitHub Codespaces 入门

GitHub Codespaces 入门

然后我可以选择添加 Node 版本,所以选择 None 因为我不想要 Node。

GitHub Codespaces 入门

接下来我可以选择要预安装的功能。我选择了 Docker,因为我需要支持。

GitHub Codespaces 入门

现在发生了 2 件事。在我的资源管理器中创建了 2 个新文件,devcontainer.jsonDockerfile在名为.devcontainer的文件夹中,并且会弹出一个 toast,建议我重建容器。当我这样做时,Codespaces 将根据我的选择重新启动一个新图像。第一次需要一段时间,因为需要构建容器。

GitHub Codespaces 入门

devcontainer.json文件指示代码空间使用为定义图像而创建的Dockerfile。然后它包括诸如 VS Code 需要的扩展列表之类的东西——在我的例子中是 PyLance。

"extensions": [
    "ms-python.python",
    "ms-python.vscode-pylance"
],

进入全屏模式 退出全屏模式

如果我愿意,我可以在这里添加更多扩展,例如 Docker 扩展。

我还可以编辑这些文件来创建一个虚拟环境,安装 Python 包之类的东西——虽然我不确定我是否需要一个虚拟环境,因为我的容器只会用于从这个 repo 开发,所以我可以全局安装软件包,不用担心。

签入您的文件

一旦您对您的开发容器设置感到满意,您就可以将.devcontainer文件夹及其所有内容检查到您的存储库中。然后,任何为您的存储库创建 Codespace 的人都将使用它!

了解更多

如果您想了解更多信息,请查看 Codespaces 文档 -https://docs.github.com/codespaces。还有一些来自 GitHub Universe 的精彩视频,这个特别的视频来自Allison Weins和 Bailey Brooks 通过 Codespaces 的配置工作。

Logo

学AI,认准AI Studio!GPU算力,限时免费领,邀请好友解锁更多惊喜福利 >>>

更多推荐