如何让Eclipse CDT像解析.h文件一样解析.h.in文件?
解决Eclipse Oxygen.3中*.h.in文件无法识别为C++头文件的问题
你遇到的问题确实和双扩展名有关——Eclipse默认会优先匹配文件最右侧的扩展名,所以.h.in会先被识别成.in类型(通常关联纯文本),而非你设置的C++头文件类型。不过完全不用重命名文件,这里有两个靠谱的解决办法:
方法1:调整内容类型优先级并关联*.h.in
从根源上修改文件的内容识别规则:
- 打开Eclipse偏好设置:
Window > Preferences > General > Content Types - 在左侧导航栏展开
C/C++,选择C++ Header File - 点击右侧的Add按钮,输入
*.h.in并确认,将这个后缀关联到C++头文件类型 - 检查是否有其他类型抢占了关联:展开
Text > Plain Text,如果列表里有*.h.in,选中它后点击Remove - 最后调整匹配优先级:点击右上角的Content Type Priority按钮,把
C++ Header File拖动到Plain Text上方,确保它的匹配优先级更高 - 应用设置后重启Eclipse,
config.h.in应该就能正常显示语法高亮了
方法2:直接关联*.h.in到C++编辑器
如果第一种方法没生效,或者你想更直接指定编辑器:
- 打开偏好设置:
Window > Preferences > General > Editors > File Associations - 点击右侧的Add按钮,输入
*.h.in并确认添加这个文件类型 - 在下方的
Editors列表里找到C++ Editor,选中它后点击Default,将其设为*.h.in的默认编辑器 - 应用设置后无需重启Eclipse,重新打开
config.h.in就能看到语法高亮效果
额外小提示:如果只想针对当前项目设置,也可以通过Project > Properties > General > Content Types修改,这样不会影响Eclipse的全局配置。
内容的提问来源于stack exchange,提问作者einpoklum
相关产品推荐
相关产品推荐

