Project Icon

vscode-dev-containers

简化开发流程的容器化环境模板

vscode-dev-containers是一个开源项目,提供基于Docker的开发容器配置模板。它支持VS Code和GitHub Codespaces,包含多种编程语言和工具的容器定义。该项目简化了容器化开发环境的搭建过程,有助于团队共享统一环境。核心功能现已迁移至devcontainers组织继续维护。

重要提示:开发容器现已迁移至 dev containers GitHub 组织!我们非常高兴能在那里与您互动。欲了解更多信息,请查看我们的迁移公告

本仓库已不再活跃,并于 2023 年 11 月归档。作为开放开发容器规范工作的一部分,我们已将本仓库的大部分内容迁移至 devcontainers GitHub 组织

对于新的模板/功能,您现在可以按照以下快速入门仓库的步骤进行自行发布,并可选择使其在工具中可见:模板快速入门功能快速入门。不再需要在此提交 PR。

欲了解更多详情,您可以查看公告议题和最新的归档公告


[已弃用] VS Code / GitHub Codespaces 开发容器定义

Visual Studio Code logo Visual Studio Code 开发容器和 GitHub Codespaces
在云端、本地容器、远程机器或 WSL 中打开您的代码,并充分利用 VS Code 的全部功能。

重要提示:如上文所述,本仓库已不再活跃,将于 2023 年 11 月归档。

开发容器是一个运行中的 Docker 容器,具有明确定义的工具/运行时栈及其先决条件。VS Code 开发容器扩展和 GitHub Codespaces 允许您在本地或云托管的开发容器中打开或克隆代码,并利用 VS Code 的全部开发功能集。

本仓库包含一组开发容器定义模板,帮助您快速启动容器化环境。这些定义描述了适当的容器镜像、启动容器的运行时参数以及应安装的 VS Code 扩展。每个定义提供了一个容器配置文件(devcontainer.json)和其他所需文件,您可以将其添加到任何现有文件夹中,作为容器化项目的起点。您可以使用**添加开发容器配置文件...**命令将其添加到您的项目或代码空间中。

如果您正在寻找完整的示例项目,vscode-remote-try-* 仓库可能也会对您有所帮助。

向项目或代码空间添加定义

  1. 要么为您的仓库创建代码空间,要么设置本地机器以使用开发容器扩展,启动 VS Code,并打开您的项目文件夹。
  2. F1,为开发容器代码空间选择**添加开发容器配置文件...**命令。
  3. 从列表中选择一个推荐的定义,或选择**显示所有定义...以查看全部。如果您的项目已有 Dockerfile 或 Docker Compose 文件,可能需要选择从预定义容器配置定义...**选项。回答出现的任何问题。
  4. 查看定义的 README 以了解配置选项。链接可在添加到您文件夹的 .devcontainer/devcontainer.json 文件中找到。
  5. 运行Remote-Containers: Reopen in Container以在本地使用,或在代码空间中运行Codespaces: Rebuild Container

向仓库添加定义

您可以通过将 .devcontainer 下的文件添加到源代码控制中来共享项目的自定义开发容器定义。

只要安装了开发容器扩展,任何人在 VS Code 中打开您仓库的本地副本时都会被提示在容器中重新打开文件夹。此外,每当有人在 GitHub Codespaces 中为该仓库创建代码空间时,都会使用这个定义。

您的团队现在拥有了一致的环境和工具链,新的贡献者或团队成员可以快速提高生产力。首次贡献者将需要更少的指导,与环境设置相关的问题也会减少。

示例项目

如果您想尝试已有开发容器的示例项目,请查看以下仓库:

内容

  • containers - 包含可重用的开发容器定义。
  • script-library - 包含本仓库中用于安装各种工具的脚本。在您自己的 Dockerfile 中也很有用。
  • container-templates - 包含用于创建您自己的容器定义或贡献的模板。

常见问题

我可以直接重用现有的容器镜像或 Docker / Docker Compose 配置吗?

是的!如果您的项目/仓库中有 Dockerfile 或 Docker Compose 文件,请按照相同的步骤添加定义,系统会提示您选择 Dockerfile 或 Docker Compose 文件并进行自定义。如果您将这些文件提交到 Git 仓库,也可以将其用于 GitHub Codespaces。如果您愿意,也可以手动启动容器并连接到它。但请注意,许多镜像可能缺少您想要使用的 git 等工具。script-library 中有一些脚本,比如 common script,可以帮助您将这些工具添加到现有的 Dockerfile 或镜像中。

devcontainer.json 的目的是什么?

devcontainer.json 文件类似于用于调试的 launch.json,但设计用于启动(或连接到)开发容器。最简单的情况下,您只需在项目中创建一个 .devcontainer/devcontainer.json 文件,引用镜像、Dockerfiledocker-compose.yml,并设置几个属性即可。您可以根据需要进行调整以适应各种情况。

贡献和反馈

有问题或反馈吗?

我们已将此仓库的大部分内容迁移到 devcontainers GitHub 组织,作为开放 Dev Container 规范工作的一部分。

因此,此仓库仅用于尚未被其所有者迁移到其他地方的社区定义。如果您是社区所有者,想要我们删除这里的现有定义,请随时提交 PR 来执行此操作!

对于新的模板/功能,您现在可以通过遵循以下快速入门仓库中的步骤进行自行发布,并可选择使其在工具中可见:模板快速入门功能快速入门

您还可以:

本项目已采用 Microsoft 开源行为准则。 有关更多信息,请参阅行为准则常见问题解答或 联系 opencode@microsoft.com 获取任何其他问题或意见。

许可证

版权所有 (c) Microsoft Corporation。保留所有权利。
根据 MIT 许可证授权。请参阅 LICENSE

对于从此仓库生成的镜像,请参阅 LICENSENOTICE.txt

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

问小白

问小白是一个基于 DeepSeek R1 模型的智能对话平台,专为用户提供高效、贴心的对话体验。实时在线,支持深度思考和联网搜索。免费不限次数,帮用户写作、创作、分析和规划,各种任务随时完成!

Project Cover

白日梦AI

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

Trae

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号