仓颉语言入门 · 第1课
【仓颉语言入门 · 第1课】Windows 环境搭建 + CIDE 第一个 Hello World(附 30 课学习路线)
大家好,从今天开始,我打算系统性地整理一套**仓颉编程语言(Cangjie)**的学习笔记,一边学一边记录,从零开始走到能独立做项目。整个系列会全程在一款轻量级的仓颉桌面 IDE —— CIDE 中完成,环境配置、写代码、编译运行、断点调试一条龙,尽量少折腾命令行,把精力放在语言本身。
本文是系列第 1 课:装好环境、认识工具链、创建并运行第一个仓颉程序,最后再玩一下断点调试。建议收藏专栏,按顺序跟练。
目录(系列导航)
整套路线共 7 个模块、30 课,按每周 2~3 课的节奏,大约 2~3 个月可以走完一遍:
| 模块 | 课次 | 内容 |
|---|---|---|
| 一、环境与入门 | 01~05 | 环境搭建与 Hello World、变量与基本类型、运算符与输入输出、分支、循环 |
| 二、常用类型与数据组织 | 06~10 | 字符串、数组与区间、ArrayList/HashMap/HashSet、可空类型、错误处理 |
| 三、函数与函数式 | 11~14 | 函数、Lambda 与高阶函数、闭包、迭代器与惰性序列 |
| 四、面向对象与类型系统 | 15~20 | struct/class、构造与属性、接口、枚举与 match 模式匹配、泛型、扩展 |
| 五、工程化与标准库 | 21~25 | cjpm 包管理与多文件、文件 IO、JSON 处理、网络编程、单元测试 |
| 六、并发编程 | 26~28 | 线程、Channel 通道与同步原语、并发实战 |
| 七、项目实战 | 29~30 | 命令行小工具、GeoJSON 数据处理实战 |
- 环境搭建与第一个仓颉程序(本文)
- 变量与常量:let / var 与基本数据类型
- 运算符与标准输入输出
- 分支结构:if 与 when 表达式
- 循环结构:while / for / Range
- 字符串详解与字符串插值
- 数组 Array 与区间 Range
- 集合框架:ArrayList、HashMap、HashSet
- 可空类型
?与 Option - 错误处理:异常机制与 Result
- 函数定义、参数与返回值
- Lambda 表达式与高阶函数
- 闭包、作用域与函数类型
- 迭代器 Iterator 与 Sequence
- 结构体 struct 与类 class
- 构造函数、属性与方法
- 接口 interface 与实现
- 枚举 enum、代数数据类型与 match 模式匹配
- 泛型编程
- 扩展、类型别名与可见性控制
- cjpm 包管理与多文件项目组织
- 文件与目录 IO
- JSON 处理(结合 stdx 扩展库)
- 网络编程入门
- 单元测试
- 并发基础:线程的创建与等待
- Channel 通道与同步原语
- 并发实战:多线程任务处理
- 实战一:带文件持久化的命令行小工具
- 实战二:GeoJSON 数据处理程序
一、仓颉语言是什么?
仓颉是华为推出的全场景编程语言,语法现代、类型系统完善,同时支持函数式、面向对象、命令式等多种编程范式,原生内置协程/线程并发能力,编译器为 cjc,包管理工具为 cjpm。
学习一门新语言的第一步永远不是背语法,而是:把环境跑通,看到第一行输出。 这就是我们今天的目标。
二、环境准备
我们需要两样东西:
- 仓颉 SDK(Cangjie SDK):编译器
cjc、包管理器cjpm、格式化工具cjfmt等都在里面; - CIDE:一款面向仓颉语言的轻量级桌面 IDE(社区版),内置仓颉项目创建、代码编辑、运行与基于 lldb 的可视化调试。
2.1 安装仓颉 SDK(Windows)
-
打开仓颉编程语言官网 cangjie-lang.cn,进入下载页,下载 Windows x86_64 版本的 SDK 压缩包(需要先注册账号并同意许可协议)。
-
将压缩包解压到一个没有中文和空格的目录,例如:
D:\dev\cangjie -
SDK 根目录下提供了环境配置脚本。在 PowerShell 中执行:
# 进入 SDK 目录后执行(文件名以实际版本为准) .\envsetup.ps1它会帮你设置好
CJ_HOME/CANGJIE_HOME等环境变量并把工具链加入 PATH。 -
重新打开一个 PowerShell 窗口,验证安装:
cjc -v cjpm -v能打印出版本号,就说明工具链安装成功。
💡 Linux / macOS 的同学下载对应平台的安装包,执行根目录下的
envsetup.sh即可,后续在 CIDE 里的操作完全一样。
📸 配图建议:PowerShell 中
cjc -v、cjpm -v输出版本号的截图。
2.2 下载并安装 CIDE
CIDE 是一款免费的开源软件,安装包发布在 GitCode 仓库的发行版页面:
- 🔗 下载地址:https://gitcode.com/wp_upala/cide
- 进入页面后打开 发行版(Releases),下载 Windows 安装包,文件名形如
CIDE-<版本>-x64-Setup.exe(Beta 渠道为CIDE-Beta-<版本>-x64-Setup.exe)。
下载后双击安装包按提示安装即可,开始菜单里会出现 CIDE Beta,启动即可。
⚠️ CIDE 是个人维护的社区版,未做代码签名。安装时若 Windows 弹出「未知发布者」或「Windows 已保护你的电脑」提示,点击「更多信息 → 仍要运行」即可,属正常现象。
CIDE 启动时会自动扫描常见安装目录下的仓颉 SDK,一般无需在软件里手动配置。如果后面新建项目时 SDK 版本能自动显示,说明一切就绪。
三、创建第一个仓颉项目
3.1 新建项目
在 CIDE 中通过菜单 File → New Project(或快捷键 Ctrl + N)打开新建项目对话框,按下面填写:
| 字段 | 填什么 | 说明 |
|---|---|---|
| Project Name | helloCangjie | 项目名,建议用英文 |
| Location | 例如 E:\code | 项目存放的父目录,软件会在其下再建一层项目文件夹 |
| SDK Version | 下拉选择已安装的版本 | 自动扫描到的仓颉 SDK |
| Output Type | executable | 可执行程序;另外两个是静态库、动态库,后面课程再讲 |
| stdx Path | 留空即可 | 使用标准扩展库时才需要,第 23 课会用到 |
点击 Create,项目创建完成后会自动在 CIDE 中打开。
📸 配图建议:新建项目对话框填写完成的截图。
3.2 项目结构长什么样
在左侧 Project 面板可以看到典型的 cjpm 项目结构:
helloCangjie/
├── src/
│ └── main.cj # 源码文件,仓颉源码以 .cj 为后缀
├── cjpm.toml # 项目配置清单(类似其他语言的 package.json)
└── target/ # 编译产物输出目录(编译后自动生成)
cjpm.toml 是项目的"身份证",里面关键字段如下:
[package]
cjc-version = "1.1.3" # 编译此项目使用的编译器版本
name = "helloCangjie" # 包名
version = "1.0.0" # 项目版本
output-type = "executable" # 输出类型:可执行程序
[dependencies] # 第三方依赖声明,后面课程会用到
3.3 认识 Hello World 代码
打开 src/main.cj,你会看到类似下面的代码(不同 SDK 版本生成的文案可能略有差异,不影响运行):
package helloCangjie
main(): Int64 {
println("Hello, helloCangjie!");
return 0;
}
逐行解读:
package helloCangjie:声明当前文件属于helloCangjie包。仓颉是按包组织代码的,每个可编译项目都要有包声明;main(): Int64 { ... }:程序入口函数。一个可执行程序从main函数开始执行;: Int64表示它返回一个 64 位整数作为进程退出码;println(...):标准库函数,把内容输出到控制台并自动换行;return 0:返回退出码0,表示程序正常结束;- 行尾的
;分号在仓颉中通常可以省略,软件自动生成的模板保留了它,两种写法都合法。
四、运行第一个程序
先按 Ctrl + S 保存文件,然后任选一种方式运行:
- 菜单 Run → Run
- 快捷键 Ctrl + R
CIDE 底部会弹出工具窗口,注意两个面板的分工:
- Build:显示编译过程,底层实际执行的是
cjpm run(先编译、后运行); - Result:显示程序自己的输出。
如果一切正常,你会在 Result 面板看到:
Hello, helloCangjie!
📸 配图建议:Build 面板编译成功 + Result 面板输出 Hello 的截图。
恭喜,你的第一个仓颉程序跑起来了!🎉
五、动手改一改
光跑模板不算会,我们把它改成一个"欢迎小程序"。把 main.cj 的内容替换为:
package helloCangjie
main(): Int64 {
println("==============================")
println(" 欢迎来到仓颉编程语言的世界!")
println(" 我的第一个仓颉程序运行成功")
println("==============================")
return 0
}
保存后再次 Ctrl + R,观察输出:
==============================
欢迎来到仓颉编程语言的世界!
我的第一个仓颉程序运行成功
==============================
两个小实验,建议亲手试一下:
- 把其中一行
println改成print,观察输出还换不换行; - 故意删掉一个双引号,再运行,观察 Build 面板里的编译错误提示长什么样——以后看报错是日常操作,不用怕。
写乱了也没关系,按 Ctrl + Alt + L 可以一键格式化代码(底层调用
cjfmt)。
六、调试初体验(先混个脸熟)
CIDE 内置了基于 lldb 的可视化调试器,今天只需要认识三个动作,变量观察等第 2 课学完变量再正式练。
- 打断点:在代码行号左侧的沟槽(gutter)里点一下,出现红点即断点,例如点在第一行
println上; - 开始调试:菜单 Run → Debug(快捷键 Shift + F9)。程序会先带调试信息编译(
-g),然后在断点处暂停,当前行会高亮; - 单步与继续:
- F8:单步跳过(执行当前一行,不进入函数内部);
- F9:继续运行到下一个断点;
- 调试工具窗口里可以看到调用栈等信息。
再按 F8 几下,可以看到高亮行一行行往下走,Result 面板逐行打印——这就是"程序是一条一条语句执行的"最直观的演示。调试结束记得点停止按钮结束调试会话。
📸 配图建议:断点红点 + 调试暂停时行高亮 + 底部调试面板的截图。
七、常见问题 FAQ
Q1:新建项目时 SDK Version 下拉是空的?
说明 CIDE 没有扫描到仓颉 SDK。先确认在新开的 PowerShell 里 cjc -v 能输出版本号(envsetup.ps1 执行后要重开终端),然后重启 CIDE 再试。
Q2:编译报 cjc-version 版本不匹配?
打开 cjpm.toml,把 cjc-version 改成你实际安装的 SDK 版本号(cjc -v 可查)即可。
Q3:输出中文乱码?
CIDE 运行仓颉程序时已自动按 UTF-8 处理,正常不会乱码;如果你自己在外部终端运行,Windows 下可先执行 chcp 65001 切到 UTF-8 代码页。
Q4:改了代码,运行结果却没变?
运行前先 Ctrl + S 保存,编译器编译的是磁盘上的文件。
Q5:第一次编译时杀毒软件拦截?
首次编译会生成可执行文件并做链接处理,个别杀软会短暂扫描锁定,选择信任即可,稍等重试就能通过。
Q6:println 和 print 的区别?
println 输出后自动换行,print 不换行,除此之外完全一样。
八、课后练习
- 新建一个名为
myFirstApp的项目,输出三行你自己的自我介绍; - 只用
print(不许用println),让输出最终也能正确换行(提示:想想换行符); - 在程序中故意制造两个编译错误(如漏掉引号、漏掉右花括号),观察并尝试读懂 Build 面板的报错信息。
下节预告
第 2 课我们正式进入语法:变量与常量 —— let、var 和仓颉的基本数据类型,学会在程序里存数据、用数据,并配合 CIDE 的调试器实时观察变量值。我们下节课见!
系列说明:本系列基于 Windows 平台 + CIDE + 仓颉 SDK 编写,所有代码均在 CIDE 中实际编译运行通过。如遇 SDK 版本差异导致的细节出入,以你本地版本为准,欢迎评论区交流。
📥 工具下载
本系列全程使用的仓颉 IDE —— CIDE(免费开源、社区版):
- GitCode 仓库 / 安装包下载:https://gitcode.com/wp_upala/cide
- 打开页面后进入 发行版(Releases),下载
CIDE-<版本>-x64-Setup.exe安装即可 - 仓颉 SDK 请前往仓颉编程语言官网下载:https://cangjie-lang.cn
更多推荐




所有评论(0)