文章目录
- SSH-Remote
- 环境配置
- Linux
- Window Vscode
- 远程开发与调试
- 工作区
- 创建工作区
- 添加文件到工作区
- 开发
- 添加头文件
- 添加任务配置(task)
- 添加运行配置(launch)
- 调试
- 调试环境配置
- 启动调试
- 调试界面介绍
- vscode快捷按钮配置
- vscode显示函数大纲
- 编辑器与窗口管理
- 光标相关
- 查找替换
- 显示相关
SSH-Remote
环境配置
Linux
- 安装ssh-server, 并配置ssh配置文件
- 同时需要C/C++相关开发工具: gcc gdb make cmake
- 配置vscode包含的系统源文件和头文件路径, 在/build/glibc-5mDdLG/glibc-2.xxx路径下
- 参考
- glibc源文件: http://ftp.gnu.org/gnu/glibc/
Window Vscode
- 安装插件 Remote-SSH 和 Remote-SSH editing Configuration file
- 配置ssh用户, 在左侧菜单栏中选择远程资源管理器添加一个sss config
配置文件内容如下
Host为主机地址, 可以为IP地址/域名
HostName为主机名称, 可自行定义
User为ssh的登录用户
登录终端
- Ctrl + Shift + · 创建新的终端
- ssh免输入密码登录参考
远程开发与调试
工作区
创建工作区
选择 [文件] -> [将工作区另存为]
添加文件到工作区
选择 [文件] -> [将文件夹添加到工作区]
开发
添加头文件
两种方式
- 针对当前工作区添加头文件路径, 在c_cpp_properties中添加路径, 可以实现单击头文件时可以跳转。
c_cpp_properties.json
{
"configurations":[
{
...
"includePath":[
"${workspaceFolder}/**"
"D:\\work\\00Tools\\boost\\include\\**"
"/usr/include"
#添加头文件路径
]
...
}
],
}
- 添加全局头文件路径(分为远程开发环境 和 本地开发环境)
选择 [设置] -> 输入关键词include path -> 选择**[System Include Path]** -> 编辑settings.json内容
{
"C_Cpp.default.systemIncludePath": [
"F:/linux_include/x86_64-linux-gnu/**",
"F:/linux_include",
"F:/linux_include/**",
#以上为本地开发环境的头文件路径, 而且被设置为全局的头文件路径
"/usr/include"
#以上为远程开发环境的头文件路径, 如果没有配置, 则使用全局的头文件路径
],
......
}
添加任务配置(task)
#这种配置为通过执行makefile进行编译
#适用于工程编译
{
"version": "2.0.0",
"tasks": [
{
"type": "shell",
"label": "redis-build",
//很重要,任务的名字叫redis-build,注意是大小写区分的,等会在launch中调用这个task(PreLaunchTask中指定)
"command": "/usr/bin/make",//shell命令
"args": [
],
"options": {
"cwd": "${workspaceFolder}/redis-6.0.3"//执行路径
},
"problemMatcher": [
"$gcc" //使用gcc捕获错误
],
"group": "build",//属于哪个任务组 tasks
"detail": ""
}
]
}
#这种配置为通过直接执行gcc命令进行编译
#适用于单个目录下一个/多个源文件的编译
#从网上找到资料
{
"version": "2.0.0",
"tasks": [
{
"label": "Build", // 任务的名字叫Build,注意是大小写区分的,等会在launch中调用这个名字
"type": "shell", // 任务执行的是shell命令
"command": "g++", // 命令是g++
"args": [
"'-Wall'",
"'-std=c++17'", //使用c++17标准编译
"'${file}'", //当前文件名
"-o", //对象名,不进行编译优化
"'${fileBasenameNoExtension}'", //当前文件名
],
// 所以以上部分,就是在shell中执行(假设文件名为filename.cpp)
// g++ filename.cpp -o filename.exe
"group": {
"kind": "build",
"isDefault": true
// 任务分组,因为是tasks而不是task,意味着可以连着执行很多任务
// 在build组的任务们,可以通过在Command Palette(F1) 输入run build task来运行
// 当然,如果任务分组是test,你就可以用run test task来运行
},
"problemMatcher": [
"$gcc" // 使用gcc捕获错误
],
}
]
}
添加运行配置(launch)
#自己编写的launch.json
{
"version": "0.2.0",
"configurations": [
{
"name": "redis启动",
"type": "cppdbg",
"request": "launch",
"preLaunchTask": "redis-build",
//在launch之前运行的任务名,这个名字一定要跟tasks.json中的任务名字大小写一致
"program": "${workspaceFolder}/redis-6.0.3/src/redis-server",//可执行程序
"args": ["redis.conf"],//输入参数argc
"stopAtEntry": false,//选为true则会在打开控制台后停滞,暂时不执行程序
"cwd": "${workspaceFolder}/redis-6.0.3",//执行路径
"environment": [],
"externalConsole": false,
"MIMode": "gdb",//调试器类型
"miDebuggerPath": "/usr/bin/gdb"//调试器路径
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
}
]
}
#网上的
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", //这个应该是F1中出现的名字
"preLaunchTask": "Build", //在launch之前运行的任务名,这个名字一定要跟tasks.json中的任务名字大小写一致
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
//需要运行的是当前打开文件的目录中,名字和当前文件相同,但扩展名为exe的程序
"args": [],
"stopAtEntry": false, // 选为true则会在打开控制台后停滞,暂时不执行程序
"cwd": "${workspaceFolder}", // 当前工作路径:当前文件所在的工作空间
"environment": [],
"externalConsole": true, // 是否使用外部控制台,选false的话,我的vscode会出现错误
"MIMode": "gdb",
"miDebuggerPath": "c:/MinGW/bin/gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}]
}
调试
调试环境配置
- 远程环境需要安装gdb
启动调试
调试界面介绍
vscode快捷按钮配置
vscode显示函数大纲
- 方法1: Shift + Ctrl + O(在顶部显示, 不方便查看)
- 方法2: 显示大纲(在编辑器左下角显示, 方便查看)
- 配置方法: Shift+Ctrl+P -> View: Quick Open View -> 大纲
编辑器与窗口管理
新建文件: Ctrl + N
文件之间切换: Ctrl + Tab
打开一个新的VSCode编辑器: Ctrl+Shift+N
关闭当前的VSCode编辑器: Ctrl+Shift+W
光标相关
移动到行首: Home
移动到行尾: End
移动到文件结尾: Ctrl+End
移动到文件开头: Ctrl+Home
移动到定义处: F12
查看定义处缩略图: Alt+F12
移动到引用处: Shift+F12
回退上一个光标操作: Ctrl+U
撤销上一步操作: Ctrl+Z
查找替换
查找: Ctrl+F
查找替换: Ctrl+H
显示相关
全屏显示: F11
放大/缩小: Ctrl+ +/-
侧边栏显示/隐藏: Ctrl+B
显示资源管理器: Ctrl+Shift+E
显示搜索: Ctrl+Shift+F
显示Debug: Ctrl+Shift+D
显示Output: Ctrl+Shift+U