最终效果
代码仓库
https://gitcode.com/m0_53402432/janna/overview
commit id
下载之后如何运行
基本环境搭建
根据 ubuntu 下使用 vscode 开发 qt 解决基本的环境搭建
修改配置
一些配置我写的是绝对路径,需要根据本地环境修改
1. CMakePresets.json
修改
CMAKE_PREFIX_PATH
{
"name": "preset-base",
"displayName": "preset base",
"description": "通用设置",
"cacheVariables": {
"CMAKE_PREFIX_PATH": "/home/laolang/program/qt6/6.5.3/gcc_64" // 修改为自己的实际路径
}
}
2. CMakeLists.txt
修改 vcpkg 配置,将下属路径修改自己的实际路径
注意:需要自行安装相关动态库
# vcpkg ################################################################################################################
set(vckpg_dir "/home/laolang/program/vcpkg")
set(CMAKE_TOOLCHAIN_FILE "${vckpg_dir}/scripts/buildsystems/vcpkg.cmake")
set(fmt_DIR "${vckpg_dir}/packages/fmt_x64-linux-dynamic/share/fmt")
set(spdlog_DIR "${vckpg_dir}/packages/spdlog_x64-linux-dynamic/share/spdlog")
3. .vscode/settings.json
修改 qt 头文件目录
// clangd 配置
"clangd.fallbackFlags": [
// 设置clangd代码检查的c++版本,目前默认是c++14
"-std=c++2a",
// 增加项目自身头文件依赖路径
"-I${workspaceFolder}",
// qt头文件目录
"-I/home/laolang/program/qt6/6.5.3/gcc_64/include/**"
]
4. dist/build.py
主要修改以下几个路径
# app 名称
APP_NAME = "janna"
# 家目录
HOME_DIR = "/home/laolang"
# 打包目录
DEPLOY_PATH = "/home/laolang/tmp/janna/janna"
# 编译目录
BUILD_PATH = "/home/laolang/csdn/gitcode/janna/build/ninja-release"
# qt platforms 目录
QT_PLATFORMS_PATH = "/home/laolang/program/qt6/6.5.3/gcc_64/plugins/platforms"
# 自己的动态库或其他三方库
LIBS = ("libutil", "libspdlog", "libfmt")
# 构建目录中的可执行程序
BUILD_BIN_PATH = f"{BUILD_PATH}/dist/bin/janna"
# 应用程序插件
PLUGINS_APP = [
"janna.taskbuttons-1.0.0",
"janna.taskexplorer-1.0.0",
"janna.volar-1.0.0",
]
一键运行
执行 run.sh
即可一键运行, 效果如下
打包与测试
执行 dist/build.py
, 即可在部署目录看到效果
注意: 需要先编译,直接运行
run.sh
脚本即可
打包后启动测试
修改插件配置列表
修改 plugins/plugins.json
文件,注释其中一个插件
[
{
"id": "janna.taskbuttons",
"version": "1.0.0",
"path": "janna.taskbuttons-1.0.0",
"enable": true
},
{
"id": "janna.taskexplorer",
"version": "1.0.0",
"path": "janna.taskexplorer-1.0.0",
"enable": true
}
// ,
// {
// "id": "janna.volar",
// "version": "1.0.0",
// "path": "janna.volar-1.0.0",
// "enable": true
// }
]
再次启动程序并测试
注意: 由于插件配置列表中删除了
volar
插件,所以现在控制台没有了对应的输出
用户目录添加一个插件
将 volar 插件复制到 data/plugins
目录下,并在 data/plugins/plugins.json
中配置插件
laolang@laolang-pc:plugins$ pwd
/home/laolang/tmp/janna/janna/data/plugins
laolang@laolang-pc:plugins$ tree
.
├── janna.volar-1.0.0
│ ├── janna.volar.json
│ └── libvolar.so
└── plugins.json
1 directory, 3 files
laolang@laolang-pc:plugins$
其中 plugin.json 文件内容如下
[
{
"id": "janna.volar",
"version": "1.0.0",
"path": "janna.volar-1.0.0",
"enable"