当前位置: 首页 > news >正文

How to develop Cangjie applications based on Jetbrains Fleet

概述

仓颉编程语言是一种面向全场景应用开发的通用编程语言,可以兼顾开发效率和运行性能,并提供良好的编程体验。

Jetbrains Fleet 是一款简洁的代码编辑器,具备清爽的 UI、AI 功能以及适用于大多数主要语言的关键内置功能。

今天,我们带领大家在Linux mint 22.1上基于Jetbrains Fleet完成一次仓颉编程语言的编程之旅。

开始

准备

仓颉

我们这次基于Cangjie 0.53.18展开,如果没有安装Cangjie 0.53.18的小伙伴,请参阅下面文章

  • How to install cangjie on Linux mint 22.1

Jetbrains Fleet

没有安装Jetbrains Fleet的小伙伴们,可以参阅下面的文章

  • How to install Jetbrains Fleet on Linux mint 22.1

项目结构

这里,我们基于命令行创建以下项目结构

mkdir ~/Public/project/fleet/cangjie
cd ~/Public/project/fleet/cangjie
mkdir -p src target
touch src/hello.cj
tee src/hello.cj <<-EOF
// hello.cj
main() {
    println("你好,仓颉")
}
EOF

执行完上述命令以后,你将得到如下目录

lwk@qwfys:~/Public/project/fleet/cangjie$ tree
.
├── src
│   └── hello.cj
└── target

3 directories, 1 file
lwk@qwfys:~/Public/project/fleet/cangjie$ 

其中,文件hello.cj内容如下:

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

配置

我们基于命令工作目录中创建目录.fleet,并创建文件并初始化文件.fleet/run.json

mkdir -p .fleet
touch .fleet/run.json
tee .fleet/run.json <<-EOF
{
    "configurations": [
        {
            "name": "run",
            "type": "command",
            "workingDir": "$PROJECT_DIR$",
            "program": "$PROJECT_DIR$/target/hello",
            "dependsOn": [
                "list"
            ]
        },
        {
            "name": "list",
            "type": "command",
            "workingDir": "$PROJECT_DIR$",
            "program": "ls",
            "args": [
                "-la",
                "target"
            ],
            "dependsOn": [
                "build"
            ]
        },
        {
            "name": "build",
            "type": "command",
            "workingDir": "$PROJECT_DIR$",
            "program": "cjc",
            "args": [
                "src/hello.cj",
                "-o",
                "target/hello"
            ],
            "dependsOn": [
                "clean"
            ]
        },
        {
            "type": "command",
            "name": "clean",
            "workingDir": "$PROJECT_DIR$",
            "program": "rm",
            "args": [
                "-rf",
                "target/*"
            ],
        }
    ]
}
EOF

其中,run.json文件内容如下:

{
    "configurations": [
        {
            "name": "run",
            "type": "command",
            "workingDir": "$PROJECT_DIR$",
            "program": "$PROJECT_DIR$/target/hello",
            "dependsOn": [
                "list"
            ]
        },
        {
            "name": "list",
            "type": "command",
            "workingDir": "$PROJECT_DIR$",
            "program": "ls",
            "args": [
                "-la",
                "target"
            ],
            "dependsOn": [
                "build"
            ]
        },
        {
            "name": "build",
            "type": "command",
            "workingDir": "$PROJECT_DIR$",
            "program": "cjc",
            "args": [
                "src/hello.cj",
                "-o",
                "target/hello"
            ],
            "dependsOn": [
                "clean"
            ]
        },
        {
            "type": "command",
            "name": "clean",
            "workingDir": "$PROJECT_DIR$",
            "program": "rm",
            "args": [
                "-rf",
                "target/*"
            ],
        }
    ]
}

Fleet

打开项目

启动Jetbrains 的下一代编辑器Fleet,系统会出现如下画面:
在这里插入图片描述
点击Open ...,系统将会弹出一个对话框,供我们选择项目工作目录,我们这里选择目录~/Public/project/fleet/cangjie,打开后界面如下所示:
在这里插入图片描述
我们可以双击源码文件hello.cj查看源码内容,如下图所示:
在这里插入图片描述

运行

在这里插入图片描述
当快捷键Ctrl+R或者点击图中顶部工具栏中向右倒立的小三角图标(如上图所示)时,系统会为我们打开运行与调试对话框。
在这里插入图片描述
我们在这里看到的runbuildcleanlist命令都是我们在运行配置文件.fleet/run.json中配置的命令。选择下拉列表中的Run,这个时候,运行结果就会出现在正方的Run内容区域,如下图所示:
在这里插入图片描述
我们看到,程序输出了我们期待已久的你好,仓颉

小结

今天,我们带领大家完成了在Linux mint21.1系统上基于Jetbrains Fleet运行华为推出的新型编程语言仓颉的小实验。这里,大家需要着重注意以下几点:

  • OS

这里,我们是在Linux mint 22.1上完成的实验,考虑到Linux mint 22.x是基于Ubuntu 24.04的,所以这里的内容其实也是适用于Ubuntu 24.04的。

  • Fleet

Jetbrains Fleet是一个全能编辑器,也是一个智能化的多语言开发集成环境,它与微软的Visual Studio Code是竞争关系,我个人觉得它比vs code好用。

相关文章:

  • MySQL 在 CentOS 7 上安装的步骤指南
  • 麒麟服务器操作系统PostgreSQL环境部署手册
  • Dubbo 服务发现
  • 【Linux】五种 IO 模型与非阻塞 IO
  • K8s的部署
  • 深度学习部署到小程序
  • [RN 实践有效]Expo+cross-env配置项目环境变量
  • Linux项目自动化构建工具 - make/Makefile 练习 进度条 倒计时
  • 深入解析 FID:深度学习生成模型评价指标
  • netty中黏包,半包
  • Axure大屏可视化原型模板及素材:数据可视化的高效解决方案
  • PowerBI数据建模基础操作1:数据关系(基数、双向筛选、常规关系、有限关系)与星型架构(维度表、事实表)
  • 位运算(基础算法)
  • MATLAB中wildcardPattern函数用法
  • Mastering SAP Analytics Cloud - Empower Your Business Users
  • QListView、QListWidget、QTableView和QTableWidget
  • 得物 一面
  • 第2章 网络安全评估平台(网络安全评估)
  • 归并排序:数据排序的高效之道
  • 光场中的核心概念:Macro Pixel与SAI的深度解析与实例应用
  • 全军军级以上单位新任纪委书记监委主任培训班结业
  • 新闻1+1丨多地政府食堂开放 “舌尖上的服务”,反映出怎样的理念转变?
  • 五一假期上海境外来沪消费4.55亿元,同比增长211.6%
  • 印巴局势紧张之际,巴基斯坦两天内第二次进行导弹试射
  • 马克思主义理论研究教学名师系列访谈|王公龙:做好马克思主义研究,既要“钻进去”又要“跳出来”
  • 人民日报和音:引领新时代中俄关系坚毅前行