如何修改CLion新建C++头文件模板中#ifndef后面的默认值

问题描述

当我在 CLion 中新建一个 C++ Class 或者 C/C++ Header File 时,它为我们自动添加

#ifndef PROJECTNAME_FILENAME_H
#define PROJECTNAME_FILENAME_H

/* ... code ... */

#endif //PROJECTNAME_FILENAME_H

现在,我想把 PROJECTNAME 换成文件相对路径,因为这更符合 Hotspot 中习惯

INCLUDE_GUARD

打开 Settings / Preferences | Editor | File and Code Templates 并且打开 Files 标签页,从列表中选中 C++ Header File 或者 C Header File

因此,有时候也会提问“如果改变 CLion 中的 INCLUDE_GUARDS?”

修改命名习惯

打开 Settings / Preferences | Editor | Code Style | C/C++ ,并且切换到 Naming Convention 标签页:

修改 Header Guard Style

${PROJECT_REL_PATH}_${FILE_NAME}_${EXT}

去掉src前缀

但是,项目根目录下,我常常创建的是类似 src/share/vm/runtime 的文件夹,但是 INCLUDE_GUARD 中我不想包含 SRC_ 前缀。

关键就是修改前面提到的 C++ Header File 或者 C Header File 模板中的 ${INCLUDE_GUARD},去掉可能存在的 'SRC_' 前缀

#[[#ifndef]]# ${INCLUDE_GUARD.replace('SRC_', '')}
#[[#define]]# ${INCLUDE_GUARD.replace('SRC_', '')}

...
#[[#endif]]# //${INCLUDE_GUARD.replace('SRC_', '')}

参考文档

https://www.jetbrains.com/help/clion/header-guards.html#configure-hg
https://stackoverflow.com/questions/36767705/how-to-change-c-include-guards-in-clion

posted @ 2022-08-10 14:45  极客子羽  阅读(1991)  评论(0)    收藏  举报