当前位置: 首页 > wzjs >正文

南宁门户网站广州网站维护

南宁门户网站,广州网站维护,鄂州市鄂城区政府网,17网站一起做网店潮汕档口最近 Visual Studio Code 异常卡顿,以为是插件原因(排查后是 GPU 加速的 bug),在搜索插件隔离的过程中,机缘巧合,了解到了 Dev Container 这么一个开发环境方案。 1. 背景描述 本文基于如下开发环境&#…

最近 Visual Studio Code 异常卡顿,以为是插件原因(排查后是 GPU 加速的 bug),在搜索插件隔离的过程中,机缘巧合,了解到了 Dev Container 这么一个开发环境方案。

1. 背景描述

本文基于如下开发环境:

  • 操作系统
    • Windows 11 24H2
  • 开发工具
    • Visual Studio Code (VS Code)
  • 容器运行环境
    • 由 Docker Desktop for Windows 提供支持
    • Docker Desktop 采用 WSL2 作为虚拟化后端(非 Hyper-V 方案)

本文中的 Dev Container 基于 WSL2 的 Docker 环境运行。如果需要连接远程服务器,可以先使用 Remote - SSH 等插件建立连接,然后在远程服务器上配置和使用 Dev Container。

2. 选择 Dev Container 的原因

将开发环境从本地迁移到 Dev Container 的目的是:

  1. 隔离 VS Code 插件:目前安装了 200+ 的插件,仅依赖 workspace 切换插件开关,相对较难管理,且跨平台同步逻辑不清晰。
  2. 隔离 VS Code 设置:避免大量个性化或插件设置堆积在本地用户设置中,使得维护困难
  3. 便于跨设备开发:Dev Container 通过 devcontainer.json 配置,自动创建容器开发环境,大幅削弱跨设备环境搭建与同步的成本。
  • 如果不需要考虑跨设备开发以及环境隔离,也可以选择 VS Code Profile 实现插件隔离、设置隔离

3. 注意事项

尽管 Dev Container 具有环境隔离的诸多优势,但也存在许多需要注意的事项。

  • 由于 Dev Container 主要基于 Docker 容器,如果涉及操作系统相关的 GUI 界面开发,可能不是一个非常合适的选项。
  • Windows 中使用 Dev Container 时,由于涉及虚拟化,以及 9p 文件传输协议的限制,会存在性能下降等问题。
  • Dev Container 基于 Docker 容器,如果开发环境涉及较为复杂的网络环境,推荐先熟悉相关配置后,再正式使用。
  • 由于 Windows NTFS 文件系统和 WSL2 中 Linux 文件系统的差异,可能会存在大小写兼容性,文件重命名失败等问题。

4. 配置 Dev Container

为了便于管理,本文采用从现有的 Windows 目录内创建 Dev Container,通过此方式创建可以保持 Dev Container 的工作目录内容和 Windows 目录内容一致。

4.1. Dev Container 环境准备

  1. Windows 系统安装 Docker Desktop for Windows(需要确保 Docker Engine 可以正常运行)
  2. VS Code 安装 Dev Container 插件

4.2. 创建 Dev Container 配置

4.2.1. 方法一、自动创建配置文件

在这里插入图片描述

  1. VS Code 中按 F1 键,运行 Dev Containers: Add Dev Container Configuration Files
  2. 根据提示配置开发环境所需的 Dev Container 配置
  3. VS Code 会在当前目录下自动生成 DevContainer 配置(.devcontainer/devcontainer.json
4.2.2. 方法二、手动创建配置文件

在根目录下 .devcontainer/devcontainer.json 文件,Dev Container 配置文件内容如下所示(请根据实际情况,自行修改):

// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/debian
{"name": "Debian",// Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile"image": "mcr.microsoft.com/devcontainers/base:bullseye",// Features to add to the dev container. More info: https://containers.dev/features.// "features": {},// Use 'forwardPorts' to make a list of ports inside the container available locally.// "forwardPorts": [],// Configure tool-specific properties.// "customizations": {},// Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.// "remoteUser": "root"// "postAttachCommand": "sudo apt update && sudo apt install -y xclip","customizations": {"vscode": {"extensions": ["DavidAnson.vscode-markdownlint","huacnlee.autocorrect"],"settings": {"[markdown]": {"editor.defaultFormatter": "DavidAnson.vscode-markdownlint"},"[json]": {"editor.defaultFormatter": "vscode.json-language-features"},"editor.renderWhitespace": "all","terminal.integrated.defaultProfile.windows": "Git Bash","markdownlint.config": {"MD033": false}}}}
}

4.3. [可选] 添加 Dockerfile

Create a Dev Container: https://code.visualstudio.com/docs/devcontainers/create-dev-container#_dockerfile

  • 在 Dev Container 中使用 Dockerfile
    • 在和 .devcontainer 文件同级目录下创建 Dockerfile 文件
    • 使用 build 代替 image
{"name": "Debian",// Or use a Dockerfile or Docker Compose file. More info: <https://containers.dev/guide/dockerfile>// "image": "mcr.microsoft.com/devcontainers/base:bullseye","build": { "dockerfile": "Dockerfile" }
}

4.4. 构建 Dev Container

一般性进入目录后,VS Code 会自动检测 Dev Container 配置文件,并提示是否打开 Dev Container

在 VS Code 中按 F1 键:

  • 如果 Dev Container 配置在当前目录:输入 Dev Containers: Rebuild and Reopen in Container
  • 如果需要打开第三方目录或 workspace:输入 Dev Containers: Open Folder in Container...Dev Containers: Open Workspace in Container...
4.4.1. 重新构建 Dev Container

如果修改了 Dev Container 的配置,需要重新构建 Dev Container。

在 VS Code 中按 F1 键,输入 Dev Containers: Rebuild and Reopen in Container

5. 使用 Dev Container

  1. [插件隔离] 除了和常规方式一样添加插件外,可以右键 Add to devcontainer.json 添加插件到配置文件中,这样构建环境的时候会自动安装插件。

  2. [设置隔离] 在 VS Code 设置中,选择 Remote [Dev Container:..] 选项卡,在此处修改的配置,将专属于当前 Dev Container,和 devcontainer.json 文件中的配置同步

    在这里插入图片描述

    # devcontainer.json
    "customizations": {"vscode": {"extensions": ["vscode-icons-team.vscode-icons",],"settings": {"editor.fontSize": 16,}}
    }
    

6. 参考

Developing inside a Container: https://code.visualstudio.com/docs/devcontainers/containers

7. 扩展

Get Started with Dev Containers in VS Code - YouTube: https://www.youtube.com/watch?v=b1RavPr_878


  • 本作品采用 署名-相同方式共享 4.0 国际(CC BY-SA 4.0 DEED) 许可
http://www.dtcms.com/wzjs/451626.html

相关文章:

  • 深圳市企业网站seo写手接单平台
  • 做兼职什么网站产品推广朋友圈文案
  • 网站建设 技术方案公司官网制作多少钱
  • 网站标题前的小图标怎么做开封网站优化公司
  • 政府网站建设工作方案首页关键词优化公司
  • dede做的网站弹广告销售成功案例分享
  • 佛山网站开发公司b站引流推广
  • 做购物网站需要什么国内新闻最新消息今天简短
  • 邪恶做动态网站廊坊seo整站优化软件
  • 嘉兴网站托管郑州网站seo外包公司
  • 如何制作免费网站今日疫情最新消息全国31个省
  • 一流的常州网站建设上海网站建设关键词排名
  • iis部署网站 http 500 - 内部服务器错误杭州百度推广优化排名
  • 山西省住房建设厅网站房屋建筑定额今天刚刚的最新新闻
  • 网站开发一定要学java吗学管理培训班去哪里学
  • 网站建设顾问做网站怎么做
  • 微信网站建设平台电商网站公司
  • 注册网站域名的入口是上海最新新闻热点事件
  • 官方网站建设平台微信软文是什么
  • 如何做网站内容构架图淘宝直通车推广怎么做
  • 学做家常菜的网站最新热点新闻事件素材
  • wordpress资讯站黄页推广平台有哪些
  • 郑州网站建设廴汉狮网络网络营销八大职能
  • 网站建设投标评分标准google网址直接打开
  • 网站建设 www.y1web.com中国企业网官方网站
  • 百度上做网站模板兰州网站seo服务
  • 住宿和餐饮网站建设的推广成都seo优化排名推广
  • 微山县建设.局网站今日国际新闻头条15条简短
  • 快捷做网站app推广活动策划方案
  • 有哪些公司做网站广州seo外包多少钱