vscode插件、主题、快捷键、调试、魔改便携模式
# vscode 快捷键:
- ctrl+p,打开当前项目最近文件列表,类似于idea中的双击shift
- ctrl+shift+p, 或者f1, 打开顶部的万能命令行
- Ctrl + K, Ctrl + T 设置主题
- 自定义快捷键。 Ctrl + K, Ctrl + S 。 更方便的做法是
ctrl+shift+p
搜索到某个命令,点齿轮设置它的快捷键。
# 魔改便携模式
https://code.visualstudio.com/docs/editor/portable
多个vscode任务栏分开显示且图标颜色不同:
- 下载zip版本,解压后,创建
data
文件夹。 - 更改图标:ResourceHacker
- 修改程序任务栏标识:
resources\app\product.json
,修改下面的内容,随便改一个名字:"win32AppUserModelId": "Microsoft.VisualStudioCode"
,比如改成Microsoft.VisualStudioCodeGreen
# 好用的插件
# 开发语言
C/C++,C++ Intellisense,CMake,CMake Tools,python,XML Tools,JSON5 syntax,AutoHotkey, Code Runner,Vetur,Markdown All in One,
# remote全家桶
# Path Intellisense
# Bracket Jumper
# highlight-words(力荐)
实现类似于SourceInsight的中间选中功能。可以通过Ctrl+K, Ctrl+S设置快捷键,搜索highlight toggle current
,为其设置快捷键,如Ctrl+Alt+Q
另外,按万能快捷键ctrl+shift+p,输入 highlight remove all
,可以去掉所有高亮。
# Bookmarks
可以设置快捷:Ctrl+Alt+R
,toggle,方便使用。
# Bracket Pair Colorizer2
多个嵌套的括号显示不同的颜色 浅色主题时,可以在settings中更改括号的颜色;
"bracket-pair-colorizer-2.colors": [
//light
"BlueViolet",
"OrangeRed",
"DarkCyan",
// defeat dark
// "Gold",
// "Orchid",
// "LightSkyBlue"
]
2
3
4
5
6
7
8
9
10
11
# highlight-icemode(弃用)
选中后所有相同内容高亮,自带的高亮太暗了。这个插件貌似会导致卡顿,所以弃用。另外如果想高亮查看某个词,可以用搜索,也可以用highlight-words插件。
# Settings Sync
- vscode有自带的settings sync功能,还有一个settings sync插件,名字都一样,都是用来同步vscode设置的。自带的功能不能给portable模式用,所以portable模式最好用插件。
- 在按ctrl+shift+P后,输入sync,显示相关的列表中sync开头的是插件,setting sync开头的是vscode默认的功能。
# 主题
- vs自带的Quite Light, 蓝紫色,比较舒适,配合默认的vscode。
- Solarized Dart, 深海蓝,之前经常用的,非常好,可配合默认vscode。
- eva theme,eva liht bold主题,浅灰色,非常好,配合灰色portable vscode。
- Solarized Light, 书页的淡黄色 非常好,配合橙色 porable vscode。
- Horizon Theme, 粉色,配合红色portable vscode。
- Slack Theme,各种颜色的,整体都还可以,可以用绿色。
# 出现问题彻底卸载重装
https://blog.csdn.net/qq_36279445/article/details/79650059
卸载vscode后,删除下面的文件夹:
用户目录\AppData\Roaming\Code
用户目录\.vscode
2
如果不删除,重装的时候原来的插件和配置都还在,原来有问题的插件可能也还是有问题。
# vscode remote远程开发(内网server离线安装)
参考: https://www.cnblogs.com/sinicheveen/p/13812278.html (opens new window)
vscode通过remote连接linux时,会自动在linux上下载vscode-server,并且每个版本对应的server安装文件不一样。(下面有下载地址)
如果linux服务器不能联网,则需要手动下载vscode-server-linux-x64.tar.gz
并拷贝到服务器上安装,具体步骤如下:
在windows上的vscode里,点Help, About,获取 vscode 的 commit id,例如1.60.0版本的commit-it为e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff
从 https://update.code.visualstudio.com/commit:e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff/server-linux-x64/stable 下载
vscode-server-linux-x64.tar.gz
将下载的 vscode-server-linux-x64.tar.gz 解压到 ~/.vscode-server/bin/e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff 目录下,不带 vscode-server-linux-x64 目录。该目录不存在则创建。
在 ~/.vscode-server/bin/e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff 目录下创建一个文件,文件名为 0
如果是开发c++,可能还需要下载扩展插件
cpptools-linux.vsix
,并将其拷贝到~/.vscode-server
目录下,通过ssh连接到remote后,再按f1,找到扩展: 从vsix安装
, 安装cpptools-linux.vsix如果出现远程连接不上的情况,可以尝试在~/.vscode-server目录下搜索"vscode-remote-lock*",如果找到名字类似于"vscode-remote-lock.root.e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff"的问题,则删掉它,然后再次尝试连接。
# 不同版本的Commit-id和下载地址
每个版本号有一个对应的Commit-id,比如1.60.0版本,点击Help-About,可以得到下面的信息:
Version: 1.60.0
Commit: e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff
Date: 2021-09-01T10:41:52.311Z
Electron: 13.1.8
Chrome: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Windows_NT x64 10.0.18363
2
3
4
5
6
7
8
该版本对应的安装包下载地址为: https://vscode.cdn.azure.cn/stable/e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff/VSCodeUserSetup-x64-1.60.0.exe (opens new window)
其liunx server remote离线安装对应的安装包vscode-server-linux-x64.tar.gz
下载地址为:
https://update.code.visualstudio.com/commit:e7d7e9a9348e6a8cc8c03f877d39cb72e5dfb1ff/server-linux-x64/stable (opens new window)
# debug调试配置(远程和本地通用)
打开debug侧边栏,点齿轮设置按钮创建launch.json,会提示选择debug工具,一般选gcc,选完后,并创建一个初始的模板。
修改其中的 "program",将其改变为我们要调试的程序。
修改 "args", 设置为程序的输入参数(如果需要的话)
"cwd"表示debug程序运行的工作目录,默认值为"${fileDirname}",表示要调试程序所在的目录;如设置为"${workspaceFolder}/bin"则表示工作空间目录下的bin目录。
在程序中执行gdb指令:https://code.visualstudio.com/docs/cpp/cpp-debug (opens new window)
- 在debug console窗口,输入 -exec + <gdb指令>即可
environment 可以设置环境变量,比
LD_LIBRARY_PATH
老版本的vscode默认创建的debug选项中有"preLaunchTask"选项,它是用于debug之前先执行一个前置任务,比如编译。我们可以手动编译后再debug,不用管。
如在debug时提示某个库的源文件找不到,比如“glibc-2.27”中的某文件找不到,则可定义"sourceFileMap"字段。参考vscode官网docs/c++/debug
Ctrl + Shift + P, 输入 Open Disassembly View 即可打开汇编窗口
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "test_something",
"type": "cppdbg",
"request": "launch",
"program": "${workspaceFolder}/bin/test_something",
"args": ["-s", "cout_hello"],
"stopAtEntry": false,
"cwd": "${workspaceFolder}/bin",
"environment": [{"name": "LD_LIBRARY_PATH", "value": "/home/abc"}],
"externalConsole": false,
"MIMode": "gdb",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"sourceFileMap": {
"/build/glibc-S9d2JN/glibc-2.27/": "/home/gaoliu/glibc-2.27/"
},
}
]
}
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
# git比较两个commit、查看某个commit、查看文件历史等
# 查看某个commit的提交内容
安装插件Git Graph 打开侧边栏的Source Control面板,找到git graph形状类似的图标,点击查看即可
# 比较两个commit之间的差别
- 安装插件Git History
- 按F1或者Contrl+Shift+P,搜索选择"Git: View History(git log)"
- 然后会打开一个面板,出现git历史提交(每行一个提交),
- 点击某个提交最右边的more按钮,选择"select this commit(xxxxx) for compare"
- 点击另一个提交最右边的more按钮,选择"compare with xxx"
- 此时右边文件Explorer面板中会多出来一个"COMPARE CMMITS", 展开它就能查看两个commit之间的差别了
# 比较某个文件的history差别
不用安装插件,点击文件Explorer面板,展开TimeLine,点击即可各个提交的diff,左边是提交前,右边是该提交
如果想比较两个commit之间的差别,则先右键点其中一个,选择select for compare, 再右键点另一个,选择compare with selected即可