在Windows上使用Cygwin64编译器和调试器设置C的VS代码
希望设置VS代码以使用Cygwin/Cygwin64。 已经设置了以下各项:在Windows上使用Cygwin64编译器和调试器设置C的VS代码,c,visual-studio-code,cygwin,vscode-settings,vscode-tasks,C,Visual Studio Code,Cygwin,Vscode Settings,Vscode Tasks,希望设置VS代码以使用Cygwin/Cygwin64。 已经设置了以下各项: 已在windows上安装Cygwin64 从Cygwin安装程序安装的gcc(编译器)和gdb(调试器)软件包 GCC和GDB在windows路径中不是 已安装的Visual Studio代码 发布这篇文章是因为我花了好几天的时间从多个不同的来源建立了这篇文章。 这是专门针对安装了Cygwin/Cygwin64的Windows的 免责声明:我只针对构建单个文件进行了测试。此处的说明用于设置VS代码 在VS代码上安装扩展
免责声明:我只针对构建单个文件进行了测试。此处的说明用于设置VS代码
launch.json
转到“调试>打开配置”,这将打开launch.json文件。下面是我的配置。如果您正在测试这个,并且不确定您正在做什么,我建议您在替换内容之前将原始内容保存到某个地方
注意:“预启动任务”:“gcc.exe生成活动文件”
运行标记为“gcc.exe生成活动文件”的任务task.json
转到“终端>配置任务…”并选择“gcc.exe生成活动文件”
“args”中的各种“-W”标志旨在使编译器更加严格。如果您愿意,可以删除它们Cygwin64效率低下,因为它使用的是中等内存模型。这使得静态数据使用64位绝对地址而不是32位相对地址 我建议您改用Visual Studio的Clang插件,除非您有特定的理由使用Cygwin64。看 在使用Clang插件时,还可以去掉cygwin DLL
Name: C/C++
Id: ms-vscode.cpptools
Description: C/C++ IntelliSense, debugging, and code browsing.
Version: 0.23.1
Publisher: Microsoft
VS Marketplace Link: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools
{
"version": "0.2.0",
"configurations": [
{
"name": "gcc.exe build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [
{
"name": "PATH",
"value": "%PATH%;z:\\cygwin64\\bin"
}
],
"externalConsole": false,
"MIMode": "gdb",
"miDebuggerPath": "C:\\cygwin64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"logging": { "engineLogging": true }, //optional
"preLaunchTask": "gcc.exe build active file"
}
]
}
{
"tasks": [
{
"type": "shell",
"label": "gcc.exe build active file",
"command": "C:\\cygwin64\\bin\\gcc.exe",
"args": [
"-g",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-Werror", // Optional
"-Wall", // Optional
"-Wextra", // Optional
"-ansi", // Optional
"-pedantic", // Optional
"${file}"
],
"options": {
"cwd": "C:\\cygwin64\\bin"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
}
},
],
"version": "2.0.0"
}