VSCode配置文件“.vscode/c_cpp_properties.json”不断被覆盖的原因及解决方法

一、问题现象

昨天,我在用VSCode写一个小算法程序,使用CMake配置文件:“CMakeLists.txt”进行工程管理。算法测试倒还顺利,但VSCode出现了一个令人恼火的问题,每次重新打开VSCode后,配置文件“.vscode/c_cpp_properties.json”总会被覆盖(图1为正确配置文件截图,图2为错误配置文件截图),导致的结果就是VSCode无法使用智能感知,不但报一堆语法错误,而且撰写代码时没有任何提示,这是多么可恶的一件事情!
VSCode配置文件“.vscode/c_cpp_properties.json”不断被覆盖的原因及解决方法_第1张图片
图1 正确的配置文件截图
VSCode配置文件“.vscode/c_cpp_properties.json”不断被覆盖的原因及解决方法_第2张图片
图2 错误的配置文件截图

二、问题原因

昨天找了一个晚上都没发现错误原因,今天突然想起,这是不是因为使用了CMake配置文件的原因,查看“.vscode”目录,里面果然有一个与CMake相关的配置文件:“.cmaketools.json”。是不是因为某个程序自动使用“.cmaketools.json”文件中的内容覆盖了“c_cpp_properties.json”?于是立即在VSCode中使用快捷键“Ctrl+Shift+X”打开应用商店,搜索“CMake”,发现前段时间安装了一个垃圾插件:“CMake Tools Helper”,正是这个恶魔每次都自动读取“.cmaketools.json”文件内容去覆盖“c_cpp_properties.json”,导致我无法使用VSCode的智能感知。
VSCode配置文件“.vscode/c_cpp_properties.json”不断被覆盖的原因及解决方法_第3张图片
图3 “.cmaketools.json”配置文件
VSCode配置文件“.vscode/c_cpp_properties.json”不断被覆盖的原因及解决方法_第4张图片
图4 “CMake Tools Helper”插件

三、解决方法

问题原因找到了,当然得想解决办法,到“CMake Tools Helper”插件的Github网站:https://github.com/maddouri/vscode-cmake-tools-helper,看到很多人都遇到了和我一样的问题:https://github.com/maddouri/vscode-cmake-tools-helper/issues/4, https://github.com/maddouri/vscode-cmake-tools-helper/issues/10。
VSCode配置文件“.vscode/c_cpp_properties.json”不断被覆盖的原因及解决方法_第5张图片
图5 Github网站的问题报告

从目前回复看,该插件似乎未给出一个好的解决方案。有的人说可以将“c_cpp_properties.json”设为只读;有的人更为干脆,直接给个差评后缷载。我自然不能容忍这个垃圾插件坏事,也是直接差评后缷载。至此,世界重新恢复和平,美好时光再次回来。

你可能感兴趣的:(VSCode)