VS code 插件配置手册

news/2024/7/5 3:51:47

点击上方“小白学视觉”,选择加"星标"或“置顶

重磅干货,第一时间送达

VS code 插件配置手册


C/C++ Tools插件---C/C++支持安装库文件的配置GDB本地调试配置GDB远程调试配置Remote VSCode插件---远程编辑文件安装环境配置在本地端的配置在远程端的配置工作流Ftp Sync插件--—远程代码的同步安装环境配置工作流

C/C++ Tools插件---C/C++支持

此扩展的预览版本为C / C ++添加了对Visual Studio Code的语言支持,包括:

语言服务:

  • 代码格式(clang格式)

  • 自动补全

  • 符号搜索

  • 签名帮助

  • 快速信息

  • 转到定义/声明

  • 查看定义/声明

  • 类/方法导航

调试:

  • 支持调试Windows、Linux和macOS应用程序

  • 断点

  • 变量查看

  • 逐行代码调试

  • 支持多线程调试

  • 支持核心转储调试

安装

在VSCode的扩展插件中找到C/C++插件并进行安装; 

1eee5671fc4b44a99fa2196f747dc038.png

Windows下想开发Linux代码需要安装Mingw开发工具

库文件的配置

打开项目到工作区,

按F1打开命令行,输入:

open settings json

选择Preferences:Opem Settings (JSON),打开settings.json文件

507ace7ddd232543c7f414d3e7aa46c7.png

在settings.json文件中添加:

/*****C/C++ Tools*****/
"C_Cpp.autocomplete": "Default",
"[cpp]": {"editor.quickSuggestions": true
},
"[c]": {"editor.quickSuggestions": true
},
"C_Cpp.default.cStandard": "c11",
"C_Cpp.default.cppStandard": "c++11",
/*****C/C++ Tools*****/

按F1打开命令行,输入:

edit configuration json

选择C/C++:Edit configurations (JSON),打开c_cpp_properties.json文件

7ee57a892b6091771ca877de06ab00d5.png

在settings.json文件中添加:

{"configurations": [{"name": "system",                //系统类型"includePath": [                //头文件目录,**表示匹配目录文件及子目录"${workspaceFolder}/**"],"defines": [],"compilerPath": "path",            //编译器地址"intelliSenseMode": "mode"        //编译器类型 "cStandard": "c11","cppStandard": "c++11"}],"version": 4
}

如:

Windows :

{"configurations": [{"name": "Win32",                "includePath": [                "${workspaceFolder}/**","C:/opencv/build/include/opencv2/**"],"defines": ["_DEBUG","UNICODE","_UNICODE"],"intelliSenseMode": "msvc-x64","cStandard": "c11","cppStandard": "c++11"}],"version": 4
}

Linux:

{"configurations": [{"name": "Linux",                "includePath": [                "${workspaceFolder}/**"],"defines": [],"compilerPath": "/usr/bin/gcc","intelliSenseMode": "clang-x64","cStandard": "c11","cppStandard": "c++11"}],"version": 4
}

GDB本地调试配置

打开项目到工作区,

打开侧栏的“调试”界面->点击“设置”按钮,选择C++(GDB/LLDB)选项:

1c208d82585f4a7545ff1d1bde899619.png

bff216c1429325adc4af79751ceff49b.png

打开launch.json文件,在文件中添加:

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) Launch",        // 配置名称,将会在启动配置的下拉菜单中显示"type": "cppdbg",            // 配置类型,不需修改 "request": "launch",        // 请求配置类型,可以为launch(启动)或attach(附加)  "program": "${workspaceFolder}/bin文件",    // 将要进行调试的程序的路径 "args": [],                    // 程序调试时传递给程序的命令行参数,["arg1", "arg2]. "stopAtEntry": false,        // 设为true时程序将暂停在程序入口处,一般设置为false "cwd": "${workspaceFolder}",        // 程序调试程序时要搜索的代码的目录"additionalSOLibSearchPath": "path" // 程序调试程序时要搜索的.so文件的目录(选填)"environment": [],            // 针对调试的程序,要添加到环境中的环境变量(选填)"externalConsole": true,    // 调试时是否显示控制台窗口,一般设置为true显示控制台 "MIMode": "gdb",            // VSCode要使用的调试工具,必须设置为gdb或lldb"miDebuggerPath": "path",    // VSCode要使用的调试工具路径(需要绝对路径)"preLaunchTask": "g++",     // 调试开始前执行的任务,需要配置tasks.json文件(选填)"setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
}

如:

Windows:

{"version": "0.2.0","configurations": [{"name": "(gdb) Launch",        "type": "cppdbg",            "request": "launch","program":"${workspaceRoot}/bin/pthread.exe",    "args": [],                    "stopAtEntry": false,        "cwd": "${workspaceFolder}",    "externalConsole": true,"MIMode": "gdb","miDebuggerPath": "C:\\MinGw\\bin\\gdb.exe""setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
}

Linux:

{"version": "0.2.0","configurations": [{"name": "(gdb local) L",        "type": "cppdbg",            "request": "launch",         "program": "${workspaceFolder}/bin/pthread",    "args": [],                    "stopAtEntry": false,        "cwd": "${workspaceFolder}",        "externalConsole": true,    "MIMode": "gdb",            "setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
}

打开侧栏的“调试”界面->点击“开始调试”按钮,开始调试

30ff416994a56469e22673258fc5028a.png

GDB远程调试配置

打开项目到工作区,

打开侧栏的“调试”界面->点击“设置”按钮,选择C++(GDB/LLDB)选项:

b1cef49cbef93a2f8b4e3aca81228007.png

35f48b0f7359c88f6a4396b4910b5309.png

打开launch.json文件,在文件中添加:

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) Launch",        // 配置名称,将会在启动配置的下拉菜单中显示"type": "cppdbg",            // 配置类型,不需修改 "request": "launch",        // 请求配置类型,可以为launch(启动)或attach(附加)  "program": "${workspaceFolder}/bin文件",    // 将要进行调试的程序的路径  "args": [],                    // 程序调试时传递给程序的命令行参数,["arg1", "arg2]. "stopAtEntry": false,        // 设为true时程序将暂停在程序入口处,一般设置为false "cwd": "${workspaceFolder}",        // 程序调试程序时的代码所在的目录"additionalSOLibSearchPath": "path",// 程序调试程序时要搜索的.so文件的目录(选填)"environment": [],            // 针对调试的程序,要添加到环境中的环境变量(选填)"externalConsole": true,    // 调试时是否显示控制台窗口,一般设置为true显示控制台 "MIMode": "gdb",            // VSCode要使用的调试工具,必须设置为gdb或lldb"miDebuggerPath": "path",    // VSCode要使用的调试工具路径(需要绝对路径)/**********与本地调试不同的地方**********/"miDebuggerServerAddress": "addr:port",    // 要远程调试的地址,IP地址:端口号"debugServerArgs": "args",                // 调试器服务器的参数        /**********与本地调试不同的地方**********/"preLaunchTask": "g++",     // 调试开始前执行的任务,需要配置tasks.json文件(选填)"setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
}

如:

Linux:

{"version": "0.2.0","configurations": [{"name": "(gdb server) L","type": "cppdbg","request": "launch","program": "${workspaceFolder}/bin/pthread","args": [],"stopAtEntry": false,"cwd": "${workspaceFolder}","externalConsole": true,"MIMode": "gdb",/**********与本地调试不同的地方**********/"miDebuggerServerAddress": "192.168.0.100:2333","debugServerArgs": "",/**********与本地调试不同的地方**********/"setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]
}
  • 先远程端:

    打开一个新终端,运行gdbserver打开要调试的程序:

    gdbserver localhost:port bin文件路径(与launch.json文件配置路径相同)

    如:

    gdbserver localhost:2333 ./bin/pthread

    若想关闭gdbserver,需要在远程打开新终端,输入:

    killall gdbserver

    再在本地端:
    打开侧栏的“调试”界面->点击“开始调试”按钮,开始调试

    90f59f2695a5f0f8beaa65d8da25f554.png

Remote VSCode插件---远程编辑文件

此扩展允许您轻松地获取并编辑远端文件,而不是使用命令行和 vi 编辑远端文件这种原始的操作。

安装

在VSCode的扩展插件中找到Remote VSCode插件并进行安装; 

b752795d01374ea8e17b5916f87b9782.png

环境配置

在本地端的配置

右键点击“Remote VSCode插件”->“配置扩展设置”,在设置页面设置相应参数:

Remote:Host(本地IP地址)设置为:127.0.0.1

Remote:Port(本地通信端口)设置为:52698

Remote:Onstartup(插件自启动)设置为:false

Remote:Dont Show Port Already In Use Error(端口正在使用时不报错)设置为:false

40e4e37d475646cc7525059b1bdb0532.png

或者,按F1打开命令行,输入:

open settings json

选择Preferences:Opem Settings (JSON),打开settings.json文件

a5205e943ff25c73a108072a3422c3f1.png

在settings.json文件中添加:

/*****Remote VSCode*****/
"remote.host": "127.0.0.1",
"remote.port": 52698,
"remote.onstartup": false,
"remote.dontShowPortAlreadyInUseError": false,
/*****Remote VSCode*****/

在远程端的配置

远程Linux安装 rmate:

wget https://raw.githubusercontent.com/sclukey/rmate-python/master/bin/rmatechmod +x ./rmatemv ./rmate /usr/local/bin/rmate

工作流

启动插件

按F1打开命令行,输入:

remote:start server

选择Remote:Start Server,开启插件

0d1afc92d8a3df0e61ac58c9f182b4a3.png

附件:

使用命令行:

remote:start server :开启插件
remote:stop server :关闭插件

连接远程系统,传输编辑文件:

本地:

打开上方工具栏”终端”->“新建终点”,或按ctrl + shift + `快捷键,打开PowerShell终端:

6e62a184db82290bc3bfd4f74db37c6f.png

在终端窗口中输入:

ssh -R 52698:127.0.0.1:52698 远端用户名@远端地址

如:

ssh -R 52698:127.0.0.1:52698 linux@192.168.0.111

之后输入密码ssh连接远程Linux系统即可。

远端:

在远端终端中输入:

rmate -p 52698 打开要编辑的文件

如:

rmate -p 52698 ./main.cpp

Ftp Sync插件--—远程代码的同步

此扩展允许您轻松地将项目文件 通过FTP与远端同步。

安装

在VSCode的扩展插件中找到Ftp-Sync插件并进行安装; 

cf9be29dae98342e6992889f5d7da8fc.png

环境配置

新建一个目录,并打开到工作区

按F1打开命令行,输入:

ftp-sync

选择Ftp-sync: Init ,新建并打开ftp-sync.json文件,初始化配置

83f702839311fb73404c33c62aebafce.png

在ftp-sync.json文件中配置:

{"remotePath": "path",        //要传输的文件的远端站点的目录"host": "host",                //远端地址"username": "username",        //远端用户名"password": "password",        //远端密码"protocol": "sftp",         //sftp协议,默认值为ftp协议"port": 22,                 //ftp默认端口是21,sftp的默认端口是22"uploadOnSave": false,        //是否应该自动保存上传文件,默认值为false"secure": false,            //安全设置,默认值为false"ignore": [                    //忽略上传路径"\\.vscode","\\.git","\\.DS_Store"],"passive": false,"debug": false,"privateKeyPath": null,"passphrase": null,"agent": null,"allow": [],"generatedFiles": {"extensionsToInclude": [""],"path": ""}
}

如:

{"remotePath": "/home/linux/pro/",    "host": "192.168.0.111",            "username": "linux",            "password": "123456",                "protocol": "sftp",                 "port": 22,                         "uploadOnSave": false,                "secure": false,                    "ignore": [                            "\\.vscode","\\.git","\\.DS_Store"],"passive": false,"debug": false,"privateKeyPath": null,"passphrase": null,"agent": null,"allow": [],"generatedFiles": {"extensionsToInclude": [""],"path": ""}
}

工作流

使用命令行:

Ftp-sync: Sync Local to Remote : 本地同步到远程

Ftp-sync: Sync Remote to Local : 远程同步到本地

Ftp-sync: Commit : 提交修改

下载1:OpenCV-Contrib扩展模块中文版教程

在「小白学视觉」公众号后台回复:扩展模块中文教程即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。

下载2:Python视觉实战项目52讲

在「小白学视觉」公众号后台回复:Python视觉实战项目即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。

下载3:OpenCV实战项目20讲

在「小白学视觉」公众号后台回复:OpenCV实战项目20讲即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。

交流群

欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~

01b15e1c5a04cbe49c50dcf845774645.png

088c005e6dad4bada20f44279fc51e46.png


http://lihuaxi.xjx100.cn/news/272536.html

相关文章

Python 哪种方式循环最快,或许颠覆你的认知

众所周知,Python 不是一种执行效率较高的语言。此外在任何语言中,循环都是一种非常消耗时间的操作。假如任意一种简单的单步操作耗费的时间为 1 个单位,将此操作重复执行上万次,最终耗费的时间也将增长上万倍。 和是 Python 中常…

拥抱并行流,提高程序执行速度

点击上方“方志朋”,选择“设为星标”回复”666“获取新整理的面试文章作者:后青春期的Keatscnblogs.com/keatsCoder/p/12934394.html前言 在 Java7 之前,如果想要并行处理一个集合,我们需要以下几步 1. 手动分成几部分 2. 为每部…

命令行的全文搜索工具--ack

想必大家在命令行环境下工作时候,一定有想要查找当前目录下的源代码文件中的某些字符的需求,这时候如果使用传统方案,你可能需要输入一长串的命令,比如这样: 1. grep -R string dir/ 或者 grep -r -e string direct…

通用权限管理组件使用说明书V3.0 错误校正 感谢自由软件职业者Helper(767870484)...

有时候,真想做个像样的东西出来,但是往往各方面的能力都不够,这么多人,Helper(767870484)仔细认真的阅读了这个帮助手册、并给给于了指正,在这里非常感谢,你的劳动成果已经被通用权限…

51NOD 1773:A国的贸易——题解

http://www.51nod.com/onlineJudge/questionCode.html#!problemId1773 参考1:FWT讲解 https://www.cnblogs.com/RabbitHu/p/9182047.html 参考2:题解 https://www.cnblogs.com/ivorysi/p/9178577.html (令$\oplus$表示异或) 设$dp…

《评人工智能如何走向新阶段》后记(再续18)

由AI科技大本营下载273.人工智能与人脑智能 近年来人工智能取得了巨大进步,受人脑神经元调节机制启发的人工智能新颖算法层出不穷!但人工智能离人脑智能(或称人类智能)还差得很远,而人脑(神经元&#xff0…

2020 Top10 计算机视觉论文总结:论文,代码,解读,还有demo视频!

点击上方“视学算法”,选择加"星标"或“置顶”重磅干货,第一时间送达作者丨louisfb01来源丨AI公园编辑丨极市平台尽管今年世界上发生了这么多事情,我们还是有机会看到很多惊人的研究成果。特别是在人工智能更精确的说是计算机视觉领…

Pygame Rect区域位置(图解)

Rect(rectangle)指的是矩形,或者长方形,在 Pygame 中我们使用 Rect() 方法来创建一个指定位置,大小的矩形区域。函数的语法格式如下: rect pygame.Rect(left,top,width,height) Rect 表示的区域必须位于…