【开发环境搭建】windows平台下搭建VSCODE C/C++ 调试运行环境

(一)背景介绍

相信大家作为一个程序员都有自己所钟爱的编辑器和编译器,但是有一点是肯定的,并不是所有的编辑器都是适合自己的。有人或许会问windows选择编辑器还需要纠结吗,做嵌入式的用keil,玩x86的就用visual stdio。没错这两款编辑器基本满足了我们开发者的需求,但是一方面,虽然KEIL做没有操作系统的ARM开发是很香,集编辑编译软硬件调试工程管理为一体,但是嵌入式做到深处到了操作系统这个层次KEIL基本就没什么软用了。
在过去的很长一段时间里,我都在急切的寻找这一款一方面看起来很牛逼,而且可以很省心的IDE,然后我找到了,他叫VSCODE,是我目前发现的最适合我的编辑器。

(二)为什么选择vscode 而不是visual studio

1.这是一个半开放的编辑器

为什么要叫他半开放,这个编译器并没有向程序员隐藏技术细节,一开始这个只是一个简单的文本代码编辑器,类似于NOTEPAD之类东西,但是程序员可以按照自己的喜好去配置适合自己的开发环境。使他成为一个可以个人定制的IDE。
很久之前我就说过当在使用KEIL,和visual studio的时候明显有一种被人安排了的感觉,没错就是被安排了,我们所做的就是简单的敲一敲代码,然后按一下F5,这种事情找一个非程序员人学习一段时间相信也可以熟练的使用。但是在vscode里面所有的编译命令都是自己用类似于LINUX命令行的方式敲出来的,为了简便我们还可以使用脚本快捷编译。

2.这个编辑器看起来是真的牛逼

在这里插入图片描述
这是我下载完插件以后的情况,是不是看起来就有想撸代码的欲望。

3.内嵌了类似于LINUX的命令行

在vscode的内嵌命令行里你可以体验到LINUX操作的感觉。

4.开机贼快

我不知道什么算快,反正他的开机时间是visual stdio的三分之一。

5.自动支持github环境

内嵌了github的常见操作,再也不用为记不住命令行而烦恼了

(三)怎样让你的vscode看起来更牛逼

这就是装插件了。
把这些插件装上基本就没问题了

1)、C/C++,这个肯定是必须的。
2)、C/C++ Snippets,即 C/C++重用代码块。
3)、C/C++ Advanced Lint,即 C/C++静态检测 。
4)、Code Runner,即代码运行。
5)、Include AutoComplete,即自动头文件包含。
6)、Rainbow Brackets,彩虹花括号,有助于阅读代码。
7)、One Dark Pro,VSCode 的主题。
8)、GBKtoUTF8,将 GBK 转换为 UTF8。
9)、ARM,即支持 ARM 汇编语法高亮显示。
10)、Chinese(Simplified),即中文环境。
11)、vscode-icons,VSCode 图标插件,主要是资源管理器下各个文件夹的图标。
12)、compareit,比较插件,可以用于比较两个文件的差异。
13)、DeviceTree,设备树语法插件。

装上这些对于嵌入式应用就够了。
改语言,虽然英文看起来更专业,但是好像还是中文开发环境更舒服。
按下“Ctrl+Shift+P”打开搜索框,在搜索框里面输入“config”,然后选择“Configure Display Language”,在打开的 local.json 文件中将 locale 修改为 zh-cn。

(四)搭建编译环境

这个比较麻烦一点,首先必须配置一下环境变量。让命令行可以识别gcc,g++命令这个涉及到安装编译器。但是如果你之前安装过其他编译器的话那就不用这么麻烦了。
在这里插入图片描述

因为之前安装过QT直接就用QT来干活了
这样就OK了,然后你的vscode就可以直接使用命令行了。
gcc命令行相信都会敲,但是只用一个文件还算简单,可是当你要管理更多的文件的时候,就不太方便了好在vscode 有自己管理方式。
在这里插入图片描述

  1. 在工程目录.vscode文件夹下新建两个文件:launch.json(配置调试选项),task.json
  2. 修改系统设置脚本

这是我一个数值计算项目的目录结构,要完成配置只需要,配置.vscode文件夹下的两个脚本文件即可。

{  
    "version": "0.2.0",  
    "configurations": [  
        
        {  
            "name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示  
            "type": "cppdbg",       // 配置类型,这里只能为cppdbg  
            "request": "launch",    // 请求配置类型,可以为launch(启动)或attach(附加)  
            "program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径  
            "args": ["-I../include"],             // 程序调试时传递给程序的命令行参数,一般设为空即可  
            "stopAtEntry": false,   // 设为true时程序将暂停在程序入口处,一般设置为false  
            "cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录  
            "environment": [],  
            "externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台  
            "MIMode": "gdb",  
            "miDebuggerPath": "E:\\QT\\QTCreater\\Tools\\mingw530_32\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应  
            "preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc  
            "setupCommands": [  
                {   
		    "description": "Enable pretty-printing for gdb",  
                    "text": "-enable-pretty-printing",  
                    "ignoreFailures": true  
                }  
            ]  
        }  
    ]  
}

{
    "version": "2.0.0",
    "command": "g++",
    "args": ["-g","${file}","-I./include","-o","${fileBasenameNoExtension}.exe"],    // 编译命令参数
    "problemMatcher": {
        "owner": "cpp",
        "fileLocation": ["relative", "${workspaceFolder}"],
        "pattern": {
            "regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
            "file": 1,
            "line": 2,
            "column": 3,
            "severity": 4,
            "message": 5
        }
    }
}

此外应该修改设置脚本

"code-runner.executorMap": {
    "cpp": "cd $dir && g++ -g ./*.cpp -fpermissive -I../include -o test && ./test"
    },
    "code-runner.respectShebang": false,
    "code-runner.runInTerminal": true 

在配置脚本末尾gcc编译命令。

配置完成点击右上角三角形即可运行,点击F5可以调试。

如果需要配置类似于opencv和qt的动态库的话在命令行中添加链接头文件的库文件的选项即可。但是如果程序要单独运行,需要在同级目录有库文件。

发布了61 篇原创文章 · 获赞 60 · 访问量 1万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章