简介
仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。融入鸿蒙生态,为开发者提供良好的编程体验。
申请试用仓颉 SDK
关注仓颉公众号
关注仓颉编程语言官方微信公众号可以收到自动推送消息,按照提示回复 SDK。
填写问卷
⚠️ 在开始填写调查问卷之前,如果你没有注册 Gitcode (比如我🤦),需要先注册以下 gitcode 的账号,因为问卷需要填写你的 gitcode url 地址。 点击试用申请问卷调查链接,填写试用问卷,按照指引完成承诺函签署等步骤。等待仓颉编程语言官方邮箱回复邮件,官方会在 1-2 个工作日内回复。
申请加入仓颉 gitcode 社区
大概 1 天左右时间,就会收到华为仓颉编程语言官方的邮件。虽然邮件内容已经包含了仓颉 SDK 和 VSCode 插件的下载地址,但是点击后会发现根本没有权限。
此时,你需要点击邮件中的 申请加入仓颉编程语言官方社区 的链接,申请仓颉 gitcode git 仓库地址权限,提交申请后大概1 个小时左右就可以收到申请通过的消息通知。
下载配置 SDK & 安装 VSCode 插件
申请通过后,你就可以直接打开邮件中的 gitcode 链接了!🎉
下载仓颉 SDK
点击下载对应平台的 SDK 和 VSCode 插件,我是使用的是 M系列芯片的 Mac ,所以我下载的是 Cangjie-0.51.4-darwin_aarch64.tar.gz SDK 文件,需要注意不要直接点击 CangjieSDK-Mac 仓库下载,这样下载的包不完整。
下载后解压到 SDK 存放目录中(一般放在用户根目录下,比较好配置环境)。
安装 VSCode 插件
同样的方式下载 VSCode 插件并且解压,可以得到一个 Cangjie-xxx.vsix 的文件,打开 VSCode 选择左边栏中的 Extensions 选项卡,点击 "..." 更多按钮,选择 install from visx。如下图所示:
安装完成后,你可以在 Extensions 中看到刚安装好的 Cangjie 插件。
点击 Settings 到 VSCode 配置页面,在搜索框中输入 Cangjie , 在 CJNative Backed 中输入 SDK 存放目录。
新建项目
按 Ctrl+Shift+P 打开 VScode 进入命令模式,输入 Create Cangjie Project 就可以找到创建仓颉项目的选项。点击选项确认创建项目。选择 Create Cangjie Project View 可以以图形页面创建项目。
如果你的 SDK 配置错误,此时将会报错,则需要再次检查你的 SDK 配置。配置正确的话,会运行 envsetup.sh 自动配置环境变量。
Mac 用户可能还会收到如下提示,点击"取消" ,打开“系统设置”-> “隐私与安全性”,在安全性选项中,点击仍然允许即可。(还需还有几个程序运行都会报这个错误,以同样的方式处理即可,后面就不多赘述)
选择项目目录,并且根据提示输入项目名称,仓颉项目就创建完成了。
Hello World
新建的项目目录结构如下图所示:
项目根目录有一个 cjpm.toml 项目配置文件,包含了项目名称、项目版本、依赖库等配置项。cjpm 是仓颉项目的包管理工具,类似于 js 的 npm 。 在 src 目录下有一个 main.cj 文件,是项目的入口文件,仓颉编程语言文件是以 .cj 为后缀的格式。打开 main.cj 文件内容如下:
main(): Int64 {
println("hello world")
return 0
}
main() 作为主函数的入口,程序从 main 函数开始执行,后面跟 : Int64 表示 main 函数返回值为 Int64 类型.
在函数内,首先使用 println("hello world") 打印 hello world 字符串,在最后返回 0,结束函数的执行。
运行
点击 main.cj 选中文件,点击右上角的运行按钮。如下图所示:
vscode 将使用 cjpm run 命令运行项目,你可以在底部的终端窗口看到运行结果,输出“hello world”。 你也可以直接使用命令行编译运行 main.cj,命令如下:
brew install libffi
source ~/cangjie/envsetup.sh
cd src/
cjc main.cj -o main
./main
我们可以在终端中看到同样的结果,输出“hello world”。 欢迎大家关注我的公众号“程序员杰克张”,加入仓颉语言编程开发群,和大伙一起学习讨论。
参考资料
- 仓颉官网:developer.huawei.com/consumer/cn…
- 仓颉社区:gitcode.com/Cangjie/
- 仓颉编程语言白皮书:developer.huawei.com/consumer/cn…