文章目录
- 1.说明
- 2.结论
- 3.c_cpp_properties.json文件的配置
1.说明
- 在公司内网条件下,即出现以下的错误,就是不能连接微软的相关网站,从github上更新离线vs code扩展包的结果就是,扩展包安装完毕,却不能完全使用。
eg:C/C++ IntelliSense, debugging, and code browsing(VSCode Cpptools)内网条件下,依赖包可能不能更新完全,代码的跳转等功能不能使用,这是扩展包C/C++ IntelliSensese的问题,甚至出现以下的错误:
无法启动 C/C++ 语言服务器。IntelliSense 功能将被禁用。
错误: Missing binary at c:\Users\XXXXX\.vscode\extensions\ms-vscode.cpptools-0.26.2\bin\Microsoft.VSCode.CPP.Extension.exe
- 这是因为VSCode Cpptools的扩展包相关的依赖包需要下载,即会在c:\Users\XXXXX.vscode\extensions\ms-vscode.cpptools-0.26.2\目录下(目录因人而异,但是大致差不多)的package.json文件中,进行相关依赖包的下载,该package.json文件的大致内容是
....
{
"description": "Visual Studio Windows Debugger",
"url": "https://go.microsoft.com/fwlink/?linkid=2082216",
"platforms": [
"win32"
],
"binaries": []
}
],
"__metadata": {
"id": "690b692e-e8a9-493f-b802-8089d50ac1b2",
"publisherDisplayName": "Microsoft",
"publisherId": "5f5636e7-69ed-4afe-b5d6-8d231fb3d3ee"
}
....
2.结论
- 参考下面的blog以及我的报错可知:是因为bin目录下面缺少Microsoft.VSCode.CPP.Extension.exe导致,所以我将相关的缺少文件添加到相关目录就解决了问题,最终实现了vs code的代码跳转功能
- 我将VSCode Cpptools的相关所有依赖包以及我的VSCode Cpptools完整扩展包上传了,如果你缺少什么就加什么,也可以将这些包分别全加进行,参考我的完整扩展包即可,若还是不行,可以将我的完整扩展包替换掉你原来的扩展包!!!
(1)解压这些文件,会出来三个文件夹:bin,debugAdapters,LLVM。
把debugAdapters,LLVM这两个文件夹直接放在插件根目录一般是C:\Users\用户名\.vscode\extensions\ms-vscode.cpptools-0.20.1;
(2)把bin文件夹里的文件:Microsoft.VSCode.CPP.Extension.exe,Microsoft.VSCode.CPP.IntelliSense.Msvc.exe
放到C:\Users\用户名\.vscode\extensions\ms-vscode.cpptools-0.20.1\bin文件夹下。
(3)ms-vscode.cpptools-0.26.2是我已经做好的VSCode Cpptools完整扩展包
我的vs code版本是:1.40.2
- 内网条件下,最好关掉vs code的更新,方法如下:
- 内网条件下,最好关闭掉扩展包的更新,关闭扩展包的更新的设置如下,设置完后,就会如下图所示
3.c_cpp_properties.json文件的配置
- 由于外网原因,可能不会在你的项目中配置c_cpp_properties.json文件,该文件就是加速find内容而已,要或者不要都可以
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"intelliSenseMode": "msvc-x64"
}
],
"version": 4
}
- 所放位置如下:
参考:
VSCode离线安装C/C++插件以及依赖包
停止vscode的更新
https://jingyan.baidu.com/article/fc07f98940163812ffe5193b.html