通过Code Server在线使用Notebook实例
Code Server是一个开源项目,它将Visual Studio Code完整运行在远程服务器上,并通过浏览器提供访问能力。主要支持以下能力:
- 完整VS Code体验:支持扩展市场、调试器、终端、Git等几乎所有原生功能。
- 跨平台访问:只需浏览器即可在任何设备上编写代码。
- 统一开发环境:代码、配置和依赖项均部署在服务器上,确保环境一致性。
- 私有部署:数据完全由用户掌控。
本文介绍如何在Notebook实例一键启动Code Server进行代码开发。
约束限制
您创建的Notebook实例需满足如下条件:
- 已配置Code Server。
- 未创建Notebook实例:创建Notebook实例时,“环境配置”中需选中Code Server。 图1 选中Code Server
- 已创建Notebook实例:在Notebook实例详情页的“基本信息”页签,可查看是否配置Code Server。 图2 Notebook实例详情页
- 未创建Notebook实例:创建Notebook实例时,“环境配置”中需选中Code Server。
- 部分容器镜像版本的操作系统暂不支持Code Server。具体限制如下: 查看容器镜像的操作系统:假设预置镜像的地址为pytorch_cuda: pytorch_2.7.0-cuda_12.8-py_3.11.10-ubuntu_22.04-x86_64-20251215163925-4e5422a,其中“ubuntu_22.04”为镜像的操作系统。
表1 操作系统支持情况 容器镜像的操作系统
架构
是否支持Code Server
ubuntu_18.04
x86
不支持
ubuntu_20.04
x86
支持
ubuntu_22.04
x86
支持
hce_2.0/hce2.0
ARM
支持
euler_2.8.3/euler2.8.3
ARM
支持
euler_2.10/euler2.10
ARM
支持
启动Code Server
- 登录ModelArts管理控制台,在左侧导航栏按需选择以下操作。
- 新版控制台:选择,进入“Notebook”页面。
- 旧版控制台:选择,进入“Notebook”页面。
- 在“状态”为“运行中”的Notebook实例的操作列,单击“接入环境”,在“接入方式”对话框的“WebIDE”页签,单击“Code Server 接入”右侧的“接入”。 图3 Code Server接入
接入成功后,可以看到其界面布局、操作逻辑和功能都和桌面版VS Code高度一致。
Code Server功能介绍
下文介绍Code Server的界面布局及功能、核心功能特性、插件扩展市场。
界面布局及功能
Code Server的界面分为以下几个主要区域:
| 区域 | 说明 |
|---|---|
| 顶部标题栏 | 显示当前打开的文件或文件夹名称,以及窗口控制按钮。 |
| 左侧活动栏 | 包含多个图标按钮,用于切换不同的视图,支持如下功能:
|
| 左侧边栏 | 显示活动栏选中视图的具体内容,如文件树、搜索结果、插件列表等。 |
| 编辑器区域 | 代码编辑的主区域,支持多标签页同时打开、代码高亮、语法提示等功能。 |
| 底部状态栏 | 显示当前文件的语言模式、行号、列号,以及Git分支、错误警告等信息。 |
| 集成终端 | 位于底部,支持创建多个终端实例,可以同时运行多个命令。 |
核心功能特性
- 完整的扩展生态:Code Server默认使用Open-VSX扩展市场,您可以通过左侧的
图标搜索并安装绝大多数流行的开源扩展,例如Python、GitLens、Prettier等。 - 内置终端与Git:集成的终端是其一大亮点,您可以在浏览器中完成从编码到构建、测试、部署的全部流程,体验如同本地开发。同时,源代码管理视图集成了Git操作,方便您进行代码的提交、分支管理和查看差异。
- 便捷的端口转发:当您开发Web应用或需要访问服务器上的特定服务端口时,Code Server内置了端口转发功能。您可以在端口 (PORTS)面板中轻松地将远程端口映射到本地,方便调试。
- 设置同步与持久化:Code Server的配置、主题、快捷键和已安装的扩展都保存在服务器的配置目录中。这意味着您无论在哪台设备上登录,都能获得完全一致的开发环境。
插件扩展市场
Code Server的插件市场提供了丰富的开发工具,Notebook实例预装了一些常用插件,您也可以按需下载其他插件。
Notebook实例预装的常用插件及说明如下:
| 插件名称 | 版本 | 说明 |
|---|---|---|
| Python | 2025.6.1 | Python语言支持,提供代码补全、语法检查等功能。 |
| Python Debugger | 2025.18.0 | Python调试器,支持断点调试、变量查看等。 |
| Python Environments | 1.10.0 | 自动检测、管理并激活不同的Python解释器和虚拟环境。 |
| Code Spell Checker | 4.1.0 | 实时检测源代码、注释和文档中的英文拼写错误,遵循驼峰命名法(camelCase)和蛇形命名法(snake_case)。 |
| EditorConfig for VS Code | 0.16.6 | 团队定义和维护统一的编码样式。 |
| GitLens | 17.1.1 | 强大的Git操作插件,支持代码历史、差异查看等。 |
| isort | 2023.11.0-dev | 对代码中的import语句进行自动排序、分组和格式化。 |
| Jupyter | 2024.8.1 | Jupyter Notebook支持。 |
| Jupyter Cell Tags | 0.1.9 | Jupyter单元格标签管理。 |
| Jupyter Keymap | 1.1.2 | Jupyter键盘快捷键。 |
| Jupyter Notebook Renderers | 1.0.19 | Jupyter Notebook渲染器。 |
| Jupyter Slide Show | 0.1.6 | Jupyter幻灯片演示。 |
| Pyright | 1.1.400 | 标准的Python静态类型检查器,旨在提升大型Python代码库的类型安全性、开发效率和代码质量。 |
| Cline | 3.75.0 | AI编程助手,基于大语言模型的智能开发插件。 |
您也可以在插件市场下载所需的其他插件。以Markdown相关插件为例,在搜索栏中输入Markdown,选中需要下载的插件,单击“Install”。
Python代码调试
Notebook已在Code Server中预装了Python相关的依赖插件,您可以直接进行Python代码调试。
代码准备
- 在工作区右键新建Python文件,文件名称后缀为.py,例如test.py。 图5 新建Python文件
- 将如下Python代码拷贝至Python文件中。
import os print(os.environ.get('PATH')) print("Hello World") print("Welcome to Code Server")图6 拷贝Python代码
运行Python文件
在Python文件右上角,单击
图标,下方“TERMINAL”页签会展示运行的结果。
调试Python文件
- 在Python文件中添加断点。在文件行号左侧,单击鼠标左键添加或删除断点。 图8 添加断点
- 在左侧活动栏,单击
图标,单击“Run and Debug” ,选择“Python Debugger”,在“Select a debug configuration”弹窗,选择“Python File Debug the currently active Python file”,进入调试模式。 - 代码运行至第一个断点处停止,可以在左侧变量区查看变量,也可以在上方操作栏执行重试、继续等操作。
项目开发
Nanochat是AI领域的Andrej Karpathy发布的一个开源项目,是一套极简、完整且低成本的训练框架,可以用不到100美元的成本,在几个小时内从零训练出一个属于自己的、能对话的迷你版ChatGPT。
本节以nanochat项目为例,介绍如何在Code Server中快速开发,包括文件上传、环境准备、项目运行等能力的演示。
演示环境配置
项目加载
您可以任选以下方式加载项目。
- 方式一:Git命令下载
- 打开Terminal。 图9 New Terminal
- 使用命令下载。
git clone https://github.com/karpathy/nanochat.git cd nanochat
- 打开Terminal。
- 方式二:拖拽上传
- 进入工作目录,打开文件夹。 图10 Open Folder
- 将本地文件夹拖到Code Server工作目录下,自动上传文件夹下内容。
- 进入工作目录,打开文件夹。
nanochat环境准备
- 安装uv。
uv是一个用Rust编写的极速Python包和项目管理工具,旨在成为Python生态系统中一个统一、高效的工具链。nanochat项目中使用uv来管理Python环境,所以需先安装uv。
curl -LsSf https://astral.sh/uv/install.sh | sh source $HOME/.local/bin/env
- 安装nanochat环境。
本教程基于CPU环境演示,所以执行如下命令安装nanochat。
export UV_INDEX_URL="https://pypi.tuna.tsinghua.edu.cn/simple uv sync --extra cpu
注意:如果无法访问HuggingFace服务,需将dataset.py代码中硬编码数据地址切换为国内源。
在CPU环境执行模型训练
本文档主要为演示Code Server功能,非大模型的训练调试,所以将训练脚本中的迭代步数减少以缩短训练耗时。对模型的训练结果也未做调参处理,如果想获得更好的训练效果,可调整参数或在GPU环境运行本项目。

启动训练脚本。
# 启动运行脚本 bash runs/runcpu.sh
之后TERMINAL上即可显示大模型的主要训练流程日志,主要包括如下步骤:
AI助手
Cline是一款基于大语言模型的Code Server插件,能够理解自然语言指令,自动完成代码生成、文件编辑、终端命令执行等复杂开发任务。您可以借助Cline作为AI编程助手,自动化完成各种项目的环境配置、依赖安装及使用,大幅提升开发效率。
在Cline配置模型服务信息
- 免费模型
Cline提供免费的模型调用,选择Absolutely Free,之后选择一个免费的模型,登录Cline账号使用。


- 第三方模型厂商
Cline支持多种模型接入方式,覆盖面非常广泛,包括Huawei Cloud MaaS、Claude Code、DeepSeek、OpenAI等。
以Huawei Cloud MaaS为例:
- 在API Provider中搜索Huawei Cloud MaaS。
- API Key输入在华为云已创建的API Key。关于如何创建API Key,请参见创建API Key。
图11 配置模型信息
配置完成后,在对话框即可与大模型对话。
图12 与大模型对话































