仓颉语言+vscode配置
1.仓颉简介
仓颉编程语言是一种面向全场景应用开发的通用编程语言,可以兼顾开发效率和运行性能,并提供良好的编程体验,主要具有如下特点:
- 语法简明高效:仓颉编程语言提供了一系列简明高效的语法,旨在减少冗余书写、提升开发效率,例如插值字符串、主构造函数、Flow 表达式、
match
、if-let
、while-let
和重导出等语法,让开发者可以用较少编码表达相关逻辑。 - 多范式编程:仓颉编程语言支持函数式、命令式和面向对象等多范式编程,融合了高阶函数、代数数据类型、模式匹配、泛型等函数式语言的先进特性,还有封装、接口、继承、子类型多态等支持模块化开发的面向对象语言特性,以及值类型、全局函数等简洁高效的命令式语言特性。开发者可以根据开发偏好或应用场景,选用不同的编程范式。
- 类型安全:仓颉编程语言是静态强类型语言,通过编译时类型检查尽早识别程序错误,降低运行时风险,也便于代码维护。同时,仓颉编译器提供了强大的类型推断能力,可以减少类型标注工作,提高开发效率。
- 内存安全:仓颉编程语言支持自动内存管理,并在运行时进行数组下标越界检查、溢出检查等,确保运行时内存安全。
- 高效并发:仓颉编程语言提供了用户态轻量化线程(原生协程),以及简单易用的并发编程机制,保证并发场景的高效开发和运行。
- 兼容语言生态:仓颉编程语言支持和 C 等主流编程语言的互操作,并采用便捷的声明式编程范式,可实现对其他语言库的高效复用和生态兼容。
- 领域易扩展:仓颉编程语言提供了基于词法宏的元编程能力,支持在编译时变换代码,此外,还提供了尾随
lambda
、属性、操作符重载、部分关键字可省略等特性,开发者可由此深度定制程序的语法和语义,有利于内嵌式领域专用语言(Embedded Domain Specific Languages,EDSL)的构建。 - 助力 UI 开发:UI 开发是构建端侧应用的重要环节,基于仓颉编程语言的元编程和尾随
lambda
等特性,可以搭建声明式 UI 开发框架,提升 UI 开发效率和体验。 - 内置库功能丰富:仓颉编程语言提供了功能丰富的内置库,涉及数据结构、常用算法、数学计算、正则匹配、系统交互、文件操作、网络通信、数据库访问、日志打印、解压缩、编解码、加解密和序列化等功能。
2.下载仓颉SDK和vscode插件
进入仓颉官网下载中心:下载中心-仓颉编程语言官网

点击**即刻下载
**

选择合适的版本
解压得到Cangjie-0.53.18-windows_x64
下载底部的vscode插件

解压得到Cangjie-vscode-0.53.18
3.设置系统环境变量
安装包中,仓颉为开发者提供了三种不同格式的安装脚本,分别是 envsetup.bat
,envsetup.ps1
和 envsetup.sh
,可以根据使用习惯及环境配置,选择一种执行:
-
若使用 Windows 命令提示符(CMD)环境,请执行:
1
path\to\cangjie\envsetup.bat
-
若使用 PowerShell 环境,请执行:
1
. path\to\cangjie\envsetup.ps1
-
若使用 MSYS shell、bash 等环境,请执行:
1
source path/to/cangjie/envsetup.sh
为了验证是否安装成功,请在以上命令环境中继续执行 cjc -v
命令,如果输出了仓颉编译器版本信息,表示已经成功安装了仓颉工具链。
在cmd中测试:
1 | cjc -v |
输出
1 | Cangjie Compiler: 0.53.18 (cjnative) |
则配置成功
!!!如果不能正确识别,采用以下手动方式!!!
设置系统变量CANGJIE_HOME
为安装仓颉SDK的目录(例如D:\Cangjie-0.53.18-windows_x64\cangjie
)
path新添:
1 | %CANGJIE_HOME%\runtime\lib\windows_x86_64_llvm |
3.安装vscode插件
打开第二个解压好的文件夹Cangjie-vscode-0.53.18
有一个文件:cangjie-0.53.18.vsix
打开vscode,选择从VISIX安装
,选择该文件,安装仓颉插件。

安装好后,打开扩展设置,输入SDK路径到第一项

4.设置vscode里的环境
这里给出三种运行.cj
文件的方法,第三种利用cjc和cjdb可以实现断点调试。
利用cjpm(推荐)
打开需要放置仓颉项目的文件夹
命令行输入命令,初始化项目
1 | cjpm init |

可以看到成功创建仓颉项目,以及默认的hello world代码
命令行输入
1 | cjpm build |

可以看到生成了可执行文件main.exe
输入
1 | cjpm run |
或者点击右上角运行按钮
PS:注意终端默认在你选择打开文件夹的时候的位置,需要精确到项目文件夹,否则会报错找不到cjpm.toml

效果为代码先build,之后在终端运行出结果
利用coderunner和cjc实现(次推荐)
下载coderunner插件

打开配置,找到Executor Map By File Extension
进入settings.json

在开头添加一段
1 | ".cj": "cd $dir && cjc $fileName -o $fileNameWithoutExt.exe && $dir$fileNameWithoutExt", |

默认Ctrl+Alt+N
使用code runner运行

可以看到终端里成功运行,并且生成了exe文件
利用cjc和cjdb创立生成任务和运行任务(灵活性高,可调试)
在.vscode
下task.json`新建生成任务:
1 | { |
"${fileDirname}\\${fileBasenameNoExtension}.exe"
指的是在文件同目录生成exe,如果想要在output里生成,可改为"${fileDirname}\\output\${fileBasenameNoExtension}.exe"
在.vscode
下launch.json`新建运行任务:
1 | { |
同理,如果想要在output里生成,可改为"${fileDirname}\\output\${fileBasenameNoExtension}.exe"
这里的"preLaunchTask": "仓颉:cjc.exe 生成可活动文件"
保证运行时先生成exe文件。
生成可执行文件
打开文件,运行任务,选中刚刚创建的任务


可以看到成功生成

直接运行
打开文件,选中以非调试模式运行

可以看到生成并且运行

调试运行

可以看到断点成功创建并且可以实现逐步运行变量监控等等。

以上便是三种运行方式,可以按需求和喜好自行选择。