Uncrustify格式化工具与ament_cmake_uncrustify检查工具兼容问题求助
解决Uncrustify扩展与ament_cmake_uncrustify的配置兼容问题
针对你遇到的两个兼容问题,只需修改uncrustify.cfg中的对应参数,让ament_cmake_uncrustify适配VS Code扩展的格式化风格:
1. 模板尖括号周围的空格问题
你希望保留尖括号前后无空格的风格(如ApproximateTime<ImageMsg, ImageMsg>),需修改以下配置:
# 移除模板名与<之间的空格 sp_template_angle = no # 移除>与后续内容之间的空格(若有需要) sp_angle_bracket_right = no
这会让Uncrustify(包括检查工具)认可无空格的模板尖括号格式,同时格式化工具也会保持该风格。
2. 类继承冒号前的空格问题
你希望保留冒号前有空格的风格(如class SomeNode : public rclcpp::Node),需修改以下配置:
# 在类继承的冒号前添加空格 sp_class_colon = yes
该参数控制类定义中继承冒号的前置空格,设置为yes后,检查工具会认可带空格的格式,与格式化工具的行为保持一致。
修改完成后,重启VS Code并重新运行ament_cmake_uncrustify检查,即可解决两者的兼容问题。
内容的提问来源于stack exchange,提问作者wouterio
相关产品推荐
相关产品推荐

