rust - 在适当的情况下自动转换所有标识符
问题描述
例如,
pub enum Format {
Undefined,
R4g4UnormPack8,
R4g4b4a4UnormPack16,
B4g4r4a4UnormPack16,
R5g6b5UnormPack16,
B5g6r5UnormPack16,
R5G5B5A1_UNORM_PACK16,
B5G5R5A1_UNORM_PACK16,
A1R5G5B5_UNORM_PACK16,
R8_UNORM,
//...
G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
//...
}
前 6 行由我使用rust-analyzer
代码操作手动转换为每一行。
但是你可以猜到这个列表很长,我正在寻找一种方法来完成所有这些工作。就像在构建它时警告我转换它一样。
warning: variant `G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16` should have an upper camel case name
--> src/core.rs:388:5
|
388 | G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `G10x6B10x6R10x6_3plane420Unorm3pack16`
我也想转换它。有没有办法做到这一点?任何帮助表示赞赏。
解决方案
可以修复它,rustfix
但根据github 问题,这个 lint 被过滤掉了,它可以通过设置 env var( ref ) 来包含。
对于 Windows:
set __CARGO_FIX_YOLO="yolo"
cargo fix
基于 Unix:
export __CARGO_FIX_YOLO="yolo"
cargo fix
重要的 :
请注意,这将尝试修复源代码中的所有内容,这可能会带来不必要的副作用,您可能需要检查cargo fix ref或者您可以通过将结构复制到纯新项目然后重新添加到您的修复后的项目。
推荐阅读
- flutter - 如何使用图像拇指创建一个范围滑块,该滑块动画到 Flutter 中按钮点击的某个位置?
- unity3d - Html 敏捷包和 Unity
- javascript - redux thunk 如何调用 curried 异步 thunk 函数?
- asciidoc - 如何将 asciidoc 属性转换为文档
- php - 除index.php文件外的php文件被访问时如何返回404?
- typescript - 在 TypeScript 中包装具有泛型类型保留的函数的最佳方法是什么?
- reactjs - 如何使用 Redux 获取数据
- python - 每当用户得到正确答案时,我如何每次添加 +1
- notepad++ - 如何在Notepad ++中仅将括号中的文本转换为大写
- angular - 是否可以使用多个 ::ng-deep 标识符在深度嵌套的组件上应用样式?