赞
踩
我的电脑是macos 10.15.6,之前一直用的是xcode(不得不说,Xcode虽然占内存但是真香!),由于之后需要用到设计编程图形化界面Qt,所以下载vscode与Qt相配。
之前看了大量教程配置vscode,但最后都配得一团糟,最近正好有空闲的时间,所以重新下载了vscode重新配置。
过程实在是太艰辛了,花了我一整天的时间,我把过程及遇到的所有坑都吐血整理如下,希望对你有些帮助。
code .
命令的访问方法,具体写在最后。用这位老哥的一行代码解决:
Homebrew国内如何自动安装(国内地址)(Mac & Linux)
效果如下:
1. brew install wget
2. brew install cmake
3. brew install opencv
brew info opencv
brew info opencv
后,提示有一部分未安装成功:配置完成后发现此处错误不影响后续配置。
感觉Mac配置vscode会遇到的问题是个玄学,网上的各种解决办法是否适用于自己也是个玄学。所以我此处只贴出我遇到的问题以及最终的解决办法(均已解决),和我最终的四个配置文件。
这个问题在官网有解释:
简单来说:
"externalConsole":false
一行代码中的false
改为true
即可,这可以解决一部分人的问题。{
"label": "Open Terminal",
"type": "shell",
"command": "osascript -e 'tell application \"Terminal\"\ndo script \"echo hello\"\nend tell'",
"problemMatcher": []
}
之后在Terminal > Run Task … 中选择 Open Terminal,点击后不会跳出什么提示,但是再次运行时就会出现独立终端了。
在按照官网中给出的代码调试时,会出现如下错误提示:
语法没有错,明显是编译器的编译标准太老了,在近几年的C++新标准(c++17)新出之后,就已经可以对vector定义时进行初始化。
看了网上的解决办法:
依次找到:文件>首选项>设置>用户设置>扩展>run code configurate>Executor Map,然后点击在settings.json中编辑
找到cpp那一行,修改代码为cd $dir && clang++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt
,若使用的是g++编译器,就将命令中的clang++
改为g++
,此行代码的具体功能可以参考文档.
新编辑cpp之后进行保存,但是每次执行的仍然是最初的cpp,并有如下错误提示:
解决办法是在launch.json中加入"preLaunchTask":"Build"
此行代码
注意preLaunchTask与tasks.json中的label相对应,所以在tasks.json中也要作相应修改:
问题得到解决。
多文件编译时会出现ld错误提示。
解决办法:只需要将tasks.json中的参数修改一下即可:
若单文件编译就使用第一行参数,多文件编译就使用第二行参数。问题解决。
最后,贴出我的四个配置文件。
{ "configurations": [ { "name": "Mac", "includePath": [ "${workspaceFolder}/**" ], "defines": [], "macFrameworkPath": [ "/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks" ], "compilerPath": "/usr/bin/clang", "cStandard": "c11", "cppStandard": "c++17", "intelliSenseMode": "clang-x64" } ], "version": 4 }
{ "version": "0.2.0", "configurations": [ { "name": "C/C++: clang++ build and debug active file", "type": "cppdbg", "request": "launch", "program": "${fileDirname}/${fileBasenameNoExtension}", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "lldb", "preLaunchTask": "Build" }, ] }
{ "tasks": [ { "type": "cppbuild", "label":"Build", // "label": "C/C++: clang++ build active file", "command": "/usr/bin/clang++", "args": [ "-fdiagnostics-color=always", "-g", //以下二选一 //"${file}",//用于单文件编译 "${fileDirname}/*.cpp",//用于多文件编译 "-o", "${fileDirname}/${fileBasenameNoExtension}", "-std=c++17" ], "options": { "cwd": "${fileDirname}" }, "problemMatcher": [ "$gcc" ], "group": { "kind": "build", "isDefault": true }, "detail": "Task generated by Debugger." }, { "label": "Open Terminal", "type": "shell", "command": "osascript -e 'tell application \"Terminal\"\ndo script \"echo hello\"\nend tell'", "problemMatcher": [] } ], "version": "2.0.0" }
执行命令后,重新启动终端以使新的$ PATH值生效。
然后,在相应文件夹的终端中输入 code .
即可直接用vscode打开文件夹了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。