现在已经 4202 年了,C++ 模块已经经过了长足的发展,但就模块是否得到工具支持仍然有历史遗留的争议。
本文将说明在 VSCode 下配合 XMake 和 Clangd 是可行方案,并给出指导。
先说结论,配置 xmake.lua
加上 compile_commands.json
就足够了,不需要别的操作。
Info
本文一些细节图文内容待补充
孤独的漫游者
现在已经 4202 年了,C++ 模块已经经过了长足的发展,但就模块是否得到工具支持仍然有历史遗留的争议。
本文将说明在 VSCode 下配合 XMake 和 Clangd 是可行方案,并给出指导。
先说结论,配置 xmake.lua
加上 compile_commands.json
就足够了,不需要别的操作。
Info
本文一些细节图文内容待补充
本文描述实验室电脑(Windows11)配置过程。
在 Windows 平台上,厌倦了 pwsh 动辄一两秒的启动时间?苦于没有可爱的 fish?来试试 Nushell 吧!Rust 万岁!
Warning
Nushell 在 Windows 可能会遇到各种奇怪的问题,虽然启动快,但请谨慎使用!
按照官方指示即可,此处不赘述。
需求
监听Excel表格的变化,每当有变化就执行表格处理操作。
C# 标准库有提供 FileSystemWatcher
,直接实现我们想要的监听功能。官方文档给出了示例。
需求
使用 QInput 选择颜色并预览。
利用 color picker,但只显示调色板,且调色板颜色为 Quasar 的 css variable 支持的所有颜色。
首先,我们需要获取 Quasar 支持的颜色变量列表。这个在 quasar/dist/types/api/color.d.ts
中有定义:
// color.d.ts
export type BrandColor =
| "primary"
| "secondary"
| "accent"
| "dark"
| "positive"
| "negative"
| "info"
| "warning";
type Color =
| "red"
| "pink"
| "purple"
| "deep-purple"
| "indigo"
| "blue"
| "light-blue"
| "cyan"
| "teal"
| "green"
| "light-green"
| "lime"
| "yellow"
| "amber"
| "orange"
| "deep-orange"
| "brown"
| "grey"
| "blue-grey";
type ColorShade = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14;
type DetailedColor = `${Color}-${ColorShade}`;
export type NamedColor = LiteralUnion<
BrandColor | Color | DetailedColor | keyof CustomColors
>;
用 SQLAlchemy 写 ORM 时经常需要修改数据表字段,这时一般方法是手动改数据表,还可能要处理新增的 not null 字段的默认值,比较麻烦。
因此我们选择 alembic 完成数据库迁移操作,快捷更新表结构。
官网有详细教程,这里说明一下我的操作过程,列一下遇到的坑。
假设已经用 poetry 创建好了虚拟环境。
poetry add alembic
需求
有两个数据表,主要字段如下:
Food
: id
, name
Weigh
: id
, food_id
, weight
需要统计每个 Food
的 weight
的数量、平均数、标准差。
pnpm i vue-clipboard3
有些时候,我们希望能够让用户自定义网页的主题色,对于 Quasar 来说,特别是 primary
。更进一步,我们希望主题色分为多阶(好比提供的 red-1
,red-2
系列),均能同步改变。
Quasar 提供了 getCssVar
和 setCssVar
两个设置 CSS 变量的函数,其效果是在 DOM 根结点的 style 加上对应的变量声明。
例如 setCssVar("primary", "red")
,那么它会设置 --q-primary: red
,加上一个 --q-
前缀。这样所有的 primary color 都会变成设定的颜色。
需求
一个很常见的需求:我的项目素材库里放了大量素材,在文件系统中更改了它们的位置,导致在 AE 中缺失。如何重新链接素材文件?
看过文档应该知道,素材是 FootageItem
对象。它有一个属性为 file
,表示对应的源文件。这是只读的,无法修改。但是有 replace
方法,它接受一个 File
类型的参数,表示替换素材。该方法执行后,会更新素材的名称、长宽等属性。