VSCode配置檔案“.vscode/c_cpp_properties.json”不斷被覆蓋的原因及解決方法
阿新 • • 發佈:2019-02-06
一、問題現象
昨天,我在用VSCode寫一個小演算法程式,使用CMake配置檔案:“CMakeLists.txt”進行工程管理。演算法測試倒還順利,但VSCode出現了一個令人惱火的問題,每次重新開啟VSCode後,配置檔案“.vscode/c_cpp_properties.json”總會被覆蓋(圖1為正確配置檔案截圖,圖2為錯誤配置檔案截圖),導致的結果就是VSCode無法使用智慧感知,不但報一堆語法錯誤,而且撰寫程式碼時沒有任何提示,這是多麼可惡的一件事情!
圖1 正確的配置檔案截圖
圖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的智慧感知。
圖3 “.cmaketools.json”配置檔案
圖4 “CMake Tools Helper”外掛
三、解決方法
從目前回復看,該外掛似乎未給出一個好的解決方案。有的人說可以將“c_cpp_properties.json”設為只讀;有的人更為乾脆,直接給個差評後缷載。我自然不能容忍這個垃圾外掛壞事,也是直接差評後缷載。至此,世界重新恢復和平,美好時光再次回來。