首页
/ Hello 算法编程环境安装指南:VS Code + 多语言运行时配置全攻略

Hello 算法编程环境安装指南:VS Code + 多语言运行时配置全攻略

2026-09-06 18:03:04作者:江焘钦

<output_article>

《Hello 算法》是一套配套完整代码仓库的数据结构与算法教程,其示例代码覆盖 Python、Java、C++、C、C#、JavaScript、TypeScript、Go、Swift、Rust、Ruby、Kotlin、Dart、Zig 等十多种主流语言,分布在仓库的 codes/ 目录(见 en/README.md)。要流畅地运行书中的示例、对照动画逐步调试算法,你需要先搭好一套统一的编程环境。

本指南以英文文档 en/docs/chapter_appendix/installation.md 为骨架,系统讲解“VS Code IDE + 各语言运行时 + 关键扩展”的完整安装流程,并结合仓库中的 Dockerfile 与语言工程配置文件(CMake、go.mod、Cargo.toml 等),帮助你在本机一键运行任意语言的算法示例。

为什么选择 VS Code 作为配套 IDE

仓库官方推荐的本地 IDE 是 VS Code。它开源、轻量、跨平台,可运行在 Windows、macOS 与 Linux 上,通过扩展生态支持几乎所有教程涉及的编程语言。

选择 VS Code 有三个贴合本仓库的实用理由:

  1. 语言覆盖广:Python、C/C++、Java、C#、Go、Rust、Dart、Swift、JavaScript/TypeScript 均有官方或社区维护的高质量扩展,配合 launch.json 即可完成断点调试。
  2. 一键运行示例友好:书中大量示例期望“拿到即可运行”,VS Code 内置终端 + 任务系统可以让你在编辑器内直接执行 codes/ 下任意章节脚本。
  3. 与 Docker 工作流互补:仓库提供了 Dockerfile(代码运行容器)与 docker-compose.yml,用 VS Code 的 “Dev Containers” 扩展可直接把整个 codes/ 挂载进容器开发。

安装步骤:访问 VS Code 官网下载与你操作系统匹配的版本并完成安装。

从官网下载 VS Code

VS Code 的扩展安装入口统一为左侧活动栏的 Extensions 图标(或快捷键 Ctrl + Shift + X),在搜索框输入语言关键词,点 Install 即可。以下所有“安装 XX 扩展”的操作均指这一入口。

在 VS Code 中安装扩展包

Python 环境

Python 是本仓库中使用频率最高的语言,codes/python/ 中每个章节都以独立的 .py 文件组织(如 climbing_stairs_dp.py),文件可被直接执行。

安装步骤:

  1. 下载并安装 Miniconda3,需要 Python 3.10 或更新版本。仓库中的代码使用现代 Python 语法(如类型注解 -> list[int] 等),3.10 以下版本无法解析。
  2. 在 VS Code 扩展市场搜索 python,安装 Python Extension Pack。安装后 VS Code 会自动识别 conda 环境,并在状态栏显示当前解释器;选择正确解释器后,可直接点击右上角“运行”按钮执行 .py 文件。
  3. (可选)在命令行执行 pip install black 安装 black 代码格式化工具,保持代码风格与仓库一致。

语言版本门槛有真实依据:仓库的 Docker 镜像统一采用 python:3.10.0-alpine(见 Dockerfile),而代码运行容器镜像也安装 python3.10 并通过 update-alternatives 设为默认 python(见 codes/Dockerfile)。

一键跑通全部 Python 示例

codes/python/ 目录内置了批量回归脚本 test_all.py。在终端 cd codes/python 后运行:

python test_all.py

脚本会 glob.glob("chapter_*/*.py") 收集全部章节脚本,逐个以 subprocess 拉起子进程执行,收集非零退出的错误并抛出 RuntimeError。你的环境如果能让它全部通过,就说明 Python 侧就绪。JavaScript 与 Ruby 也提供同样的 test_all.jstest_all.rb 脚本,可用于验证对应运行时。

C / C++ 环境

C 语言代码位于 codes/c/,是仓库中需要最完整工具链的语言:编译、链接、CMake 构建、GDB 调试缺一不可。C++ 代码位于 codes/cpp/

安装步骤:

  1. Windows:安装 MinGW-w64 以提供 gcc/g++ 编译器;macOS 自带 Clang,无需额外安装。Linux 发行版通常可用包管理器安装 gcc g++ gdb(仓库的 codes/Dockerfile 正是 apt-get install -y g++ gdb)。
  2. 在 VS Code 扩展市场搜索 c++,安装 C/C++ Extension Pack。它会附带 C/C++ 扩展(IntelliSense、调试)、CMake 工具与调试器支持。
  3. (可选)打开设置页(Ctrl + ,),搜索 Clang_format_fallback Style,将其设置为:
{ BasedOnStyle: Microsoft, BreakBeforeBraces: Attach }

这一配置会让 Ctrl + Shift + I(格式化文档)遵循微软风格、并在控制块前“贴附”大括号,与仓库 C 代码的书写风格保持一致。

用 CMake 构建 C 示例

codes/c/ 用 CMake 管理工程,根目录 CMakeLists.txt 声明了 project(hello_algo C) 并设置 CMAKE_C_STANDARD 11——即全仓 C 代码统一按 C11 标准编译。顶层 CMakeLists.txt 通过 add_subdirectory(...) 引入 13 个章节子目录(复杂度、链表、栈与队列、哈希、树、堆、图、搜索、排序、分治、回溯、动态规划、贪心),每个子目录有自己的 CMakeLists.txt 定义各自的可执行目标。以任意章节目录为构建根即可单独验证:

# 在 codes/c 目录下
cmake -S . -B build
cmake --build build

之后在 VS Code 中安装 C/C++ 扩展后,打开 codes/c 即可获得语法高亮、跳转与 CMake 目标列表;调试 C 示例需要先编译生成可执行文件,再用调试器附加。

Java 环境

Java 代码位于 codes/java/,按包 chapter_* 组织,每个章节一个源码目录,类中包含 main 方法可直接运行。

安装步骤:

  1. 下载并安装 OpenJDK。文档标注需 JDK 10 或更新版本(中文版表述为 “> JDK 9”,两者同义);仓库容器使用 openjdk-17-jdk(见 codes/Dockerfile),因此建议直接选用 JDK 17 LTS 以获得与仓库一致的长期支持版本。
  2. 在 VS Code 扩展市场搜索 java,安装 Extension Pack for Java。它整合了 Language Support for Java(基于 Eclipse JDT)、Java 调试器与 Maven/Gradle 支持。
  3. 用 VS Code 打开 codes/java 目录,扩展会解析所有 .java 源码并构建工作区;打开带 main 的类(如 n_queens.java),点击 “Run” 即可运行。

C# 环境

C# 示例位于 codes/csharp/,是一个以 hello-algo.csprojcsharp.sln 组织的 .NET 工程。每个章节按目录承载类,其中常用辅助方法通过 GlobalUsing.cs 全局引入,便于顶层语句直接调用。

安装步骤:

  1. 下载并安装 .NET 8.0。版本要求有明确出处:仓库代码运行容器安装的正是 dotnet-sdk-8.0(见 codes/Dockerfile),因此 SDK 版本以 8.0 为准。
  2. 在 VS Code 扩展市场搜索并安装 C# Dev Kit。这是微软官方出品的一体化扩展(含 C# 扩展、.NET 工具与解决方案资源管理器),安装后可对 .sln/.csproj 提供完整支持。
  3. 也可选择使用 Visual Studio(Windows/macOS 桌面版),其对 .NET 8 的支持同样完善。

在 VS Code 中打开 codes/csharp 后,可直接在终端执行:

dotnet run

或针对具体章节文件运行 dotnet run --project .,C# Dev Kit 还允许你右键单个 .cs 文件选择 “Run”。

Go 环境

Go 代码位于 codes/go/,以 go.mod 声明模块,章节包与工具包分离(章节子目录 + pkg/),每个示例文件含 main 或可独立调用的函数。

安装步骤:

  1. 下载并安装 Go(当前主流稳定版即可,仓库容器亦采用通用安装流程)。
  2. 在 VS Code 扩展市场搜索 go,安装 Go 官方扩展(gopls 语言服务器集成)。
  3. Ctrl + Shift + P 打开命令面板,输入 go,选择 Go: Install/Update Tools,在弹出的列表中全选并安装。该命令会批量安装 goplsdlv(调试器)、staticcheckgoimports 等工具链,是 Go 扩展正常工作的前提。

安装完成后,打开 codes/go,在终端 go run . 或对单个文件执行 go run ./chapter_searching 即可运行;命令面板 Go: Debug Test at cursor 支持断点调试。

Swift 环境

Swift 示例位于 codes/swift/,以 Swift Package Manager 组织:Package.swift 声明可执行目标,Package.resolved 固定依赖版本。Swift 目前主要支持 macOS 与 Linux。

安装步骤:

  1. 下载并安装 Swift。macOS 用户可跳过(Xcode 已内置工具链);Linux 用户下载对应发行版 tarball 后需将 usr/bin 加入 PATH
  2. 在 VS Code 扩展市场搜索 swift,安装 Swift for Visual Studio Code(由 Swift Server Work Group 维护)。它提供语言服务、构建任务与测试集成。

在 VS Code 打开 codes/swift 后,扩展会自动识别 Package.swift;运行任一章节目录下的可执行文件,可在集成终端执行 swift run,或利用扩展提供的 Run 按钮直接运行当前 target。

JavaScript 与 TypeScript 环境

JavaScript

JavaScript 示例位于 codes/javascript/,公共模块集中在 modules/。安装步骤:

  1. 下载并安装 Node.js(建议 LTS 版本)。
  2. (可选)在 VS Code 扩展市场搜索并安装 Prettier,获得与仓库一致的代码格式化能力。

JS 示例是纯 Node 脚本,直接在终端运行:

node chapter_array_and_linkedlist/array.js

批量自检可运行 node test_all.js(见 test_all.js)。

TypeScript

TypeScript 示例位于 codes/typescript/,工程配置见 package.jsontsconfig.json。在 JavaScript 环境就绪后继续:

  1. 安装 TypeScript Execute (tsx),使 TS 文件可被直接执行而无需先编译:
npm install -g tsx
# 之后在 codes/typescript 下直接运行
tsx chapter_array_and_linkedlist/array.ts
  1. 在 VS Code 扩展市场搜索 typescript,安装 Pretty TypeScript Errors。它将 tsc 默认的单行错误提示渲染为排版清晰的错位图(diff 风格),在大型章节目录中排查类型错误更高效。

Dart 环境

Dart 示例位于 codes/dart/,章节目录扁平组织,每个 .dart 文件含 main。安装步骤:

  1. 下载并安装 Dart SDK(当前为 3.x 系列)。
  2. 在 VS Code 扩展市场搜索 dart,安装 Dart 官方扩展。它会附带 Dart Code 所需的调试支持(需配合 Chrome 或 Dart VM)。

在 VS Code 中打开 codes/dart,单个文件的 main 上方会出现 “Run” 按钮;也可在终端执行:

dart run chapter_sorting/bubble_sort.dart

Rust 环境

Rust 示例位于 codes/rust/,以 Cargo.toml 组织;src/ 下还有独立工具模块。安装步骤:

  1. 下载并安装 Rust。官方推荐方式是在终端执行 rustup-init,它会一并安装 rustccargorustup(无需单独安装 Visual C++ Build Tools——Windows 用户除外,需先装好 MSVC 工具链)。
  2. 在 VS Code 扩展市场搜索 rust,安装 rust-analyzer。它是 Rust 官方的语言服务器,提供补全、跳转、类型内联与 cargo check 诊断。

rust-analyzer 会自动识别 codes/rust 下的 Cargo 工程;终端中运行示例:

# 在 codes/rust 目录下,指定包的对应可执行示例
cargo run

语言安装汇总速查表

语言 运行时/工具链 必备 VS Code 扩展 仓库代码位置 验证命令(示例)
Python Miniconda3(Python ≥ 3.10) Python Extension Pack codes/python/ python test_all.py
C / C++ MinGW-w64(Windows)/ Clang(macOS);C 需 CMake C/C++ Extension Pack codes/c/ · codes/cpp/ cmake -S . -B build && cmake --build build
Java OpenJDK(≥ JDK 10,建议 17) Extension Pack for Java codes/java/ 点击类上 Run
C# .NET 8.0 SDK C# Dev Kit codes/csharp/ dotnet run
Go Go 工具链 + gopls/dl 等 Go codes/go/ go run .
Swift Swift 工具链 Swift for Visual Studio Code codes/swift/ swift run
JavaScript Node.js (可选)Prettier codes/javascript/ node test_all.js
TypeScript Node.js + tsx Pretty TypeScript Errors codes/typescript/ tsx xxx.ts
Dart Dart SDK Dart codes/dart/ dart run xxx.dart
Rust rustup(rustc + cargo) rust-analyzer codes/rust/ cargo run

此外,仓库还有 C#、Java 之外多语言的更多实现:C、Kotlin(codes/kotlin/)、Ruby(codes/ruby/)、Zig(codes/zig/,入口 main.zig)。其中 Kotlin 依赖 JVM、Ruby 依赖 Ruby 解释器、Zig 依赖 Zig 工具链,原理与上述流程一致:装好官方运行时 + 对应 VS Code 扩展即可运行。

环境一致性验证与常见问题

用仓库配置核对版本

如果你不想逐语言手动核对版本,可以直接对照仓库的两个权威文件:

  • 代码运行容器 codes/Dockerfile:定义了 python3.10g++ gdbopenjdk-17-jdkdotnet-sdk-8.0 等版本基线,可用 docker compose up(配置见 docker-compose.yml,支持通过 LANGS 环境变量按需选择语言)快速获得一个与仓库一致的沙箱环境。
  • 各语言工程文件:go.mod(Go 模块与版本)、Package.swiftCargo.tomlpackage.jsonhello-algo.csproj 分别锚定了对应语言的构建方式,是验证“我的工具链能不能跑这个仓库”的最短路径。

常见问题排查

  • VS Code 选择了错误解释器/编译器:Python 通过状态栏切换 conda 解释器;C/C++ 通过命令面板 C/C++: Select IntelliSense Configuration 指定 gcc/clang 路径;Java 需在 java.home 设置里指向已装的 JDK。
  • Go 扩展提示工具缺失:按第 3 步执行 Go: Install/Update Tools 全选安装,等待右下角安装完成通知再使用。
  • C 编译失败:先确认已进入含 CMakeLists.txt 的目录(根 codes/c/CMakeLists.txt 或任意章节子目录),并保证 CMake ≥ 3.10、编译器支持 C11。
  • 运行 Python 示例报 Unicode/路径错误:仓库脚本显式设置 PYTHONIOENCODING=utf-8(见 test_all.py),在 Windows 终端可用 chcp 65001 切换 UTF-8 代码页后再运行。

小结

至此,你已按官方文档完成 VS Code 与全部主要语言环境的安装与验证:先装 IDE,再按“运行时 → VS Code 扩展 → 可选格式化工具 → 运行示例验证”的固定套路,逐个打通 Python、C/C++、Java、C#、Go、Swift、JavaScript、TypeScript、Dart、Rust 的执行链路。装好后即可打开 codes/ 下任意章节文件,跟随书中的动画与代码同步运行,真正实现“边看边跑边调”。若需要与本仓库保持零偏差的一致环境,直接使用 Dockerfile 构建容器是最省心的选择。 </output_article>

登录后查看全文
热门项目推荐
相关项目推荐

项目优选

收起
kernelkernel
deepin linux kernel
C
33
18
ops-transformerops-transformer
本项目是CANN提供的transformer类大模型算子库,实现网络在NPU上加速计算。
C++
1.14 K
2.75 K
pytorchpytorch
作为 Ascend for PyTorch 社区的核心组件,TorchNPU 是昇腾专为 PyTorch 打造的深度学习适配插件,使 PyTorch 框架能够直接调用昇腾 NPU,为开发者提供昇腾 AI 处理器的超强算力。
Python
857
1.35 K
docsdocs
暂无描述
Markdown
898
5.82 K
kernelkernel
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
531
596
ops-nnops-nn
本项目是CANN提供的神经网络类计算算子库,实现网络在NPU上加速计算。
C++
921
1.84 K
jiuwenswarmjiuwenswarm
JiuwenSwarm 是一款基于openJiuwen开发的智能AI Agent,它能够将大语言模型的强大能力,通过你日常使用的各类通讯应用,直接延伸至你的指尖。
Python
3.8 K
1.02 K
ops-mathops-math
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
1.36 K
1.46 K
cann-learning-hubcann-learning-hub
CANN 学习中心仓,支持在线互动运行、边学边练,提供教程、示例与优化方案,一站式助力昇腾开发者快速上手。
Jupyter Notebook
1.02 K
519
AscendNPU-IRAscendNPU-IR
AscendNPU-IR是基于MLIR(Multi-Level Intermediate Representation)构建的,面向昇腾亲和算子编译时使用的中间表示,提供昇腾完备表达能力,通过编译优化提升昇腾AI处理器计算效率,支持通过生态框架使能昇腾AI处理器与深度调优
C++
548
391