1. 安装插件
vscode配置remote ssh_Hello_wshuo的博客-CSDN博客_remote ssh vscode
设置界面 右键最左边tab栏:
主体: vscode
插件: Remote SSH
Linux主体: vscode-server
插件: C/C++, CMake, CMake Tools, CodeLLDB, Rainbow Brackets, vscode-proto3, SVN,LuaHelper(tencent)
虚拟化主体: multipass + linux发行版(比如ubuntu)
补充: multipass实例本地端口转发代理Proxy(自己写)
launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Server-Remote-9101",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/testHello_gdb",
"args": [],
"cwd": "${workspaceFolder}/build/",
"MIMode": "gdb",
"miDebuggerServerAddress": "192.168.157.133:9101",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
},
{
"type": "lldb",
"request": "attach",
"name": "Attach-Srv",
"pid": "${command:pickMyProcess}"
},
{
"name": "(gdb) 启动",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/build/testHello",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}/build/",
"environment": [],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
]
}
]
}
#配置cmake
cd build
cmake ../
make
服务器上启动 gdbserver --remote-debug 0.0.0.0:9101 ./GateSrv
json文件一般要改的就下面这些
{
"type": "LuaHe lper-Debug",
" request": " launch",
“name": "LuaPanda-GameSrv" ,
" luaFileExtension": "lua" ,
”connectionPort': 8718 ,
CWd" :
! $ {workspaceFolder}/bin/ lua
"updateTips": true,
”pathCaseSensitivity": true,
”stopOnEntry": false,
" useCHook": false,
" autoPathMode": true ,
"logL .evel": 1,
"dist inguishSameNameFile: true
}
"name": "g++ - 生成和调试活动文件", // 配置名称,显示在启动配置下拉菜单中
"type": "cppdbg", //配置类型
"request": "launch", //请求配置类型
"program": "${workspaceFolder}/build/main", //代表的可执行文件的绝对路径
"args": [], //传递给程序的命令行参数
"stopAtEntry": false, //可选参数。如果为true,则调试程序应在目标的入口点处停止。如果床底了processId,则不起任何作用
"cwd": "${workspaceFolder}", //cd到工程的顶层目录
"environment": [], //要添加到程序中的环境变量{"name":"config","value":"Debug"}
"externalConsole": false, //true:启动控制台;false:在vscode的集成的控制台显示
"MIMode": "gdb", //调试方式
svn 使用
1. update
VScode中使用svn常用简单操作_大脸胖柴的博客-CSDN博客_vscode怎么配置svn
vscode+svn的配置和简单使用_大蚂蚁2号的博客-CSDN博客_vscode svn
{
// Whether auto refreshing is enabled
"svn.autorefresh": true,
// Select all files when commit changes
"svn.commit.changes.selectedAll": true,
// Check empty message before commit
"svn.commit.checkEmptyMessage": true,
// Set file to status resolved after fix conflicts
"svn.conflicts.autoResolve": false,
// Encoding of svn output if the output is not utf-8. When this parameter is null, the encoding is automatically detected. Example: 'windows-1252'.
"svn.default.encoding": null,
// The default location to checkout a svn repository.
"svn.defaultCheckoutDirectory": "",
// When a file is deleted, what SVN should do? `none` - Do nothing, `prompt` - Ask the action, `remove` - automatically remove from SVN
"svn.delete.actionForDeletedFiles": "prompt" // values: ["none","prompt","remove"],
// Ignored files/rules for `svn.delete.actionForDeletedFiles`(Ex.: file.txt or **/*.txt)
"svn.delete.ignoredRulesForDeletedFiles": [],
// Controls whether to automatically detect svn externals.
"svn.detectExternals": true,
// Controls whether to automatically detect svn on ignored folders.
"svn.detectIgnored": true,
// Show diff changes using latest revision in the repository. Set false to use latest revision in local folder
"svn.diff.withHead": true,
// Whether svn is enabled
"svn.enabled": true,
// Try the experimental encoding detection
"svn.experimental.detect_encoding": null,
// Priority of encoding
"svn.experimental.encoding_priority": [],
// Url for the gravitar icon using the , and placeholders
"svn.gravatar.icon_url": "https://www.gravatar.com/avatar/.jpg?s=&d=robohash",
// Use garavatar icons in log viewers
"svn.gravatars.enabled": true,
// Ignores the warning when SVN is missing
"svn.ignoreMissingSvnWarning": null,
// List of SVN repositories to ignore.
"svn.ignoreRepositories": null,
// Ignores the warning when working copy is too old
"svn.ignoreWorkingCopyIsTooOld": null,
// Regex to detect path for 'branches' in SVN URL, 'null' to disable. Subpath use 'branches/[^/]+/([^/]+)(/.*)?' (Ex.: 'branches/...', 'versions/...')
"svn.layout.branchesRegex": "branches/([^/]+)(/.*)?",
// Regex group position for name of branch
"svn.layout.branchesRegexName": 1,
// Set true to show 'branches/' and false to show only ''
"svn.layout.showFullName": true,
// Regex group position for name of tag
"svn.layout.tagRegexName": 1,
// Regex to detect path for 'tags' in SVN URL, 'null' to disable. Subpath use 'tags/[^/]+/([^/]+)(/.*)?'. (Ex.: 'tags/...', 'stamps/...')
"svn.layout.tagsRegex": "tags/([^/]+)(/.*)?",
// Regex to detect path for 'trunk' in SVN URL, 'null' to disable. (Ex.: '(trunk)', '(main)')
"svn.layout.trunkRegex": "(trunk)(/.*)?",
// Regex group position for name of trunk
"svn.layout.trunkRegexName": 1,
// Number of commit messages to log
"svn.log.length": 50,
// Maximum depth to find subfolders using SVN
"svn.multipleFolders.depth": 4,
// Allow to find subfolders using SVN
"svn.multipleFolders.enabled": null,
// Folders to ignore using SVN
"svn.multipleFolders.ignore": ["**/.git","**/.hg","**/vendor","**/node_modules"],
// Path to the svn executable
"svn.path": "/usr/bin/svn",
// Only show previous commits for a given user. Requires svn >= 1.8
"svn.previousCommitsUser": null,
// Refresh remote changes on refresh command
"svn.refresh.remoteChanges": null,
// Set the interval in seconds to check changed files on remote repository and show in statusbar. 0 to disable
"svn.remoteChanges.checkFrequency": 300,
// Show the output window when the extension starts
"svn.showOutput": null,
// Show the update message when update is run
"svn.showUpdateMessage": true,
// Set left click functionality on changes resource state
"svn.sourceControl.changesLeftClick": "open diff" // values: ["open","open diff"],
// Combine the svn external in the main if is from the same server.
"svn.sourceControl.combineExternalIfSameServer": false,
// Allow to count unversioned files in status count
"svn.sourceControl.countUnversioned": true,
// Hide unversioned files in Source Control UI
"svn.sourceControl.hideUnversioned": false,
// Ignore unversioned files like .gitignore, Configuring this will overlook the default ignore rule
"svn.sourceControl.ignore": [],
// Changelists to ignore on commit
"svn.sourceControl.ignoreOnCommit": ["ignore-on-commit"],
// Changelists to ignore on status count
"svn.sourceControl.ignoreOnStatusCount": ["ignore-on-commit"],
// Set to ignore externals definitions on update (add --ignore-externals)
"svn.update.ignoreExternals": true
}
使用idea 的快捷键 clion 的快捷键, 安装这个