仓颉语言编程入门:第一个 Windows 下的仓颉应用程序

引言

仓颉编程语言是一款面向全场景智能的新一代编程语言,主打原生智能化、天生全场景、高性能、强安全。它广泛应用于鸿蒙原生应用及服务应用等场景,为开发者带来优秀的编程体验。全场景意味着无论是开发 Windows、Linux 的本地应用,Web 服务后台,还是移动端 HarmonyOS,都可以使用仓颉语言。本文将重点介绍如何在 Windows 下搭建仓颉开发环境并编写第一个"Hello, World!"程序。

环境搭建

首先,我们需要下载并安装仓颉语言的开发工具链。以下步骤将引导你完成在 Windows 平台上的安装过程。

下载安装包

访问 仓颉语言官方网站,下载适用于 Windows 平台的安装包。你有两种选择:

  • cangjie-sdk-windows-x64-x.y.z.exe:可执行文件格式,直接运行安装。
  • cangjie-sdk-windows-x64-x.y.z.zip:压缩文件格式,解压后需手动配置。

安装指导

选择并下载安装包后,根据安装包格式进行操作:

  • exe 格式:直接运行文件,按照安装向导操作即可完成安装。
  • zip 格式 :解压文件到指定目录,解压后会得到一个 cangjie 文件夹,其中包含编译器和其他开发工具。

配置环境变量

为了确保仓颉工具链在新的命令行窗口中也能使用,需要配置环境变量。以下是具体步骤:

  1. 在 Windows 搜索框中输入"查看高级系统设置"并打开。
  2. 单击"环境变量"按钮。
  3. 在"用户变量"或"系统变量"区域中,新建一个名为 CANGJIE_HOME 的变量,变量值为 cangjie 文件夹的绝对路径。
  4. 在 Path 变量中,添加以下路径:
    • %CANGJIE_HOME%\bin
    • %CANGJIE_HOME%\tools\bin
    • %CANGJIE_HOME%\tools\lib
    • %CANGJIE_HOME%\runtime\lib\windows_x86_64_llvm

完成以上操作后,仓颉工具链即可在新的命令行窗口中正常使用。

编写第一个仓颉程序

现在我们来编写并运行第一个 Windows 下的仓颉程序。

创建文件

创建一个名为 hello.cj 的文件,输入以下代码:

cj 复制代码
// hello.cj
main() {
    println("你好,仓颉")
}

编译与运行

打开命令行窗口,导航到 hello.cj 所在目录并执行以下命令:

bash 复制代码
cjc hello.cj -o hello.exe

该命令会编译 hello.cj 文件,并生成一个名为 hello.exe 的可执行文件。接下来,运行生成的 hello.exe,你应该会在命令行窗口中看到输出:

复制代码
你好,仓颉

使用 VSCode 插件进行开发

VSCode 是一款流行的代码编辑器,拥有强大的插件生态系统。仓颉语言也为 VSCode 提供了专门的插件,支持代码高亮、语法检查、调试等功能。

安装 VSCode

首先,访问 VSCode 官网 下载适合你系统的安装包,并按照安装向导完成安装。推荐使用 1.67 或更高版本。

安装仓颉插件

启动 VSCode 后,点击左侧边栏的扩展图标进入扩展市场(或按 Ctrl+Shift+X)。搜索 Cangjie,找到仓颉插件后点击 Install 按钮进行安装。

配置仓颉 SDK

安装完插件后,需要配置 SDK 的路径。具体步骤如下:

  1. 单击左下角齿轮图标,选择设置选项。
  2. 在搜索栏输入 Cangjie,选择 Cangjie Language Support 选项。
  3. 找到 Cangjie Sdk: Option 选项,选择后端类型为 CJNative(默认选项)。
  4. 找到 Cangjie Sdk Path: CJNative Backend 选项,输入 CJNative 后端 SDK 文件夹的绝对路径。
  5. 重启 VSCode 使配置生效。

通过快捷键 Ctrl+Shift+P 调出命令面板,选择 cangjie: Create Cangjie Project View 命令,如果弹出创建仓颉项目的界面,说明 SDK 安装成功。


安装验证

通过快捷键 Ctrl + Shift + P(macOS 系统的快捷键为 Command + Shift + P) 调出 VSCode 的命令面板,选择 cangjie: Create Cangjie Project View 命令。

第一个helloworld程序

cpp 复制代码
package testcj

main(): Int64 {
    println("hello world")
    return 0
}

运行

bash 复制代码
cjpm run

关于CJPM

CJPM(Cangjie Package Manager) 是仓颉编程语言的官方包管理工具,主要用于管理仓颉项目的模块、依赖和构建流程。以下是它的核心功能和用途:


1. CJPM 是什么?

  • 定位 :仓颉语言的集成化工具链核心组件,类似其他语言的包管理器(如 npmcargo)。
  • 作用 :统一管理项目的依赖、编译、测试、发布等全生命周期流程。

2. 核心功能

(1)依赖管理
  • 自动解析和下载依赖(支持本地路径、Git 仓库、中心仓)。

  • 解决多版本冲突(无需手动处理版本兼容性问题)。

  • 示例 cjpm.toml 配置:

    toml 复制代码
    [dependencies]
    lib1 = { git = "https://github.com/org/lib1", branch = "dev" }
    lib2 = { path = "./local-lib" }
(2)项目构建
  • 一键编译项目(支持增量编译、交叉编译、并行编译):

    bash 复制代码
    cjpm build          # 普通编译
    cjpm build -V       # 打印详细编译过程
(3)测试与运行
  • 运行单元测试:

    bash 复制代码
    cjpm test           # 执行所有测试
    cjpm test src/pkg1  # 测试指定模块
  • 直接运行项目:

    bash 复制代码
    cjpm run            # 编译后立即运行
(4)工作区支持
  • 管理多模块项目(类似 Rust 的 workspace):

    toml 复制代码
    [workspace]
    members = ["module1", "module2"]
(5)发布与安装
  • 发布模块到中心仓:

    bash 复制代码
    cjpm publish
  • 安装全局工具:

    bash 复制代码
    cjpm install <tool-name>

3. 典型使用场景

  1. 初始化新项目

    bash 复制代码
    cjpm init my-project  # 生成项目结构和 cjpm.toml
  2. 添加依赖后构建

    bash 复制代码
    cjpm update          # 更新依赖
    cjpm build           # 重新构建
  3. 跨平台开发

    bash 复制代码
    cjpm build --target x86_64-unknown-linux-gnu  # 交叉编译

4. 优势

  • 自动化:依赖下载、版本控制、编译流程全自动处理。
  • 灵活性 :支持自定义构建脚本(通过 build.cj 文件)。
  • 生态集成 :与仓颉编译器(cjc)和运行时(cjvm)深度协作。

5. 参考命令列表

命令 作用
cjpm init 初始化项目
cjpm build 编译项目
cjpm test 运行测试
cjpm run 编译并运行
cjpm publish 发布模块
cjpm install 安装二进制工具

总结

CJPM 是仓颉开发中不可或缺的工具 ,简化了从依赖管理到构建发布的全部流程,显著提升开发效率。对于任何仓颉项目,cjpm.toml 是其核心配置文件,而 CJPM 命令是日常操作的入口。

参考文档

结语

通过本文的讲述,你应该已经成功在 Windows 平台上搭建了仓颉语言开发环境,并能编写、编译并运行简单的仓颉程序。对于更复杂的应用程序开发,你还可以参考仓颉语言的官方文档,进一步学习和掌握更多高级特性。仓颉语言的全场景特性使其在各种开发环境中都能发挥出色的作用,无论是桌面应用、Web 服务还是移动应用,都可以选择仓颉语言进行开发。希望本文对你有所帮助,欢迎在评论区分享你的学习经验。

其他资源

鸿蒙下的仓颉语言开发:https://developer.huawei.com/consumer/cn/doc/cangjie-guides-V5/cj-start-overview-V5

相关推荐
Light6015 小时前
领码方案|Windows 下 PLT → PDF 转换服务超级完整版:异步、权限、进度
windows·ghostscript.net·权限治理·异步转换·进度推送·redis 存储·kubernetes 部署
染指111019 小时前
11.ImGui-加载字体和中文
c++·windows·imgui
李游Leo20 小时前
Rust 开发环境安装与 crates.io 国内源配置(Windows / macOS / Linux 全流程)
windows·macos·rust
小王不爱笑13221 小时前
Java基础知识(十四)
java·windows·python
sc_yhsheng21 小时前
18j621-3通风天窗图集pdf(免费高清版)
windows·pdf
程序员TNT1 天前
Shoptnt 促销计算引擎详解:策略模式与责任链的完美融合
linux·windows·策略模式
※※冰馨※※1 天前
【c#】 使用winform如何将一个船的图标(ship.png)添加到资源文件
开发语言·windows·c#
稻草人不怕疼1 天前
氢桌面:高德悬浮地图在滑动桌面时消失浅析
windows
iReachers1 天前
.NET 单文件程序详解:从原理到实践
windows·microsoft·.net