在 vscode 自动格式中在 C 中声明指针时如何将星号定位在变量名附近?
How to position asterisk near to variable name when declaring pointers in C in vscode auto formatting?
目前,如果我写 int * ptr;
,那么自动格式化会将其转换为我不想要的 int* ptr;
。在谷歌搜索了一下之后,我找到了 here 的修复方法。我必须使用 PointerAlignment: PAS_Middle
。但是我不知道在哪里添加。
在vscode设置中,我尝试在C_Cpp: Clang_format_fallback_style
和C_Cpp: Clang_format_style
中添加。都没有用。设置里没有save/apply按钮,所以我希望它一更改就自动更新设置。但是尽管如此,每当我使用 Shift+Alt+F 格式化我的 C 代码时,它都会在类型附近放置星号!
好的。我找到了为什么它不起作用。因为,下面的 C_Cpp: Formatting
被设置为 vcFormat
而不是 clangFormat
。但是改成 clangFormat
好像不行。相反,它会拒绝格式化!!
那我只好在与此相关的设置下面搜索了。我找到了 Pointer Reference Alignment
。但遗憾的是,我没有将其设置为 center
,而是不得不将其设置为 ignore
,因为 center
会将 int *const ptr;
转换为 int * const ptr;
编辑:感谢@Shawn 在评论中将我指向 .clang-format
文件。我现在可以在 vscode 中使用 clangFormat
。但是在同一个项目的不同文件夹下的不同文件之间是不一致的!不知道是clang-format还是vscode的错。现在,我正在回退到使用 vcFormat
.
目前,如果我写 int * ptr;
,那么自动格式化会将其转换为我不想要的 int* ptr;
。在谷歌搜索了一下之后,我找到了 here 的修复方法。我必须使用 PointerAlignment: PAS_Middle
。但是我不知道在哪里添加。
在vscode设置中,我尝试在C_Cpp: Clang_format_fallback_style
和C_Cpp: Clang_format_style
中添加。都没有用。设置里没有save/apply按钮,所以我希望它一更改就自动更新设置。但是尽管如此,每当我使用 Shift+Alt+F 格式化我的 C 代码时,它都会在类型附近放置星号!
好的。我找到了为什么它不起作用。因为,下面的 C_Cpp: Formatting
被设置为 vcFormat
而不是 clangFormat
。但是改成 clangFormat
好像不行。相反,它会拒绝格式化!!
那我只好在与此相关的设置下面搜索了。我找到了 Pointer Reference Alignment
。但遗憾的是,我没有将其设置为 center
,而是不得不将其设置为 ignore
,因为 center
会将 int *const ptr;
转换为 int * const ptr;
编辑:感谢@Shawn 在评论中将我指向 .clang-format
文件。我现在可以在 vscode 中使用 clangFormat
。但是在同一个项目的不同文件夹下的不同文件之间是不一致的!不知道是clang-format还是vscode的错。现在,我正在回退到使用 vcFormat
.