VSCode配置笔记

可是我不敢一个人喝…

(我去怎么写了三个月)这也是乱得可以。先这样

参考:https://blog.csdn.net/qq_45807140/article/details/112862592

https://blog.csdn.net/qq_45807140/article/details/112862592

VSCode

安装VSCode以及c/c++和简体中文扩展。已有

image-20251009195520096

MinGW-w64

(感觉这个没必要啊!

参考:https://zhuanlan.zhihu.com/p/26143367916

下载

下载:https://github.com/niXman/mingw-builds-binaries/releases

选择:64位的操作系统,选择x86_64,win32是为Windows系统设计的API风格,如果是Windows 10或更高版本,并且你希望利用最新的API和功能,ucrt可能是一个好选择。

综上我选择最后一个

image-20251009201700713

下载后解压到想要的位置,需要是全英文路径

配置环境变量

新建一个环境变量MinGW_HOME,填上安装目录下的\bin目录,因为要找这个目录下的g++.exe

image-20251009203739005

验证:打开命令行输入gcc -v

等会儿这用的是llvm的()

image-20251009202228433

VSCode环境配置

感觉和pycharm有点像,一个项目一个配置这种

新建一个用来写代码的文件夹,用VSCode打开,按下快捷键shift+ctrl+p,展示全局命令面板,搜索找到C/C++ Edit Configurations(UI)

image-20251009203343403

编译器路径,设为mingw安装目录下的g++.exe

image-20251009204256871

有个问题但是暂时没找到办法,先搁置

image-20251009205542698

IntelliSense 模式设为:gcc-x64

image-20251009204114163

在代码文件夹里新建一个cpp文件并保存,我这已经有了就不搞了。终端-配置默认生成任务,然后左边就会出现一个tasks.json。暂时是这样的

1
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
31
{
"version": "2.0.0",
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "D:/Tool/mingw64/bin/g++.exe",
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "编译器: D:/Tool/mingw64/bin/g++.exe",
"presentation": {
"panel": "new" //默认为“shared“表示共享,改成new之后每个进程创建新的端口
}// 添加这一整块代码块
}
]
}

image-20251009215000444

点击Run(运行)->Add Configuration(添加配置),这样会在.vscode文件夹中生成launch.json文件,这个我的初始配置特别特别简单但是也还能用。现在是这样

1
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
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"preLaunchTask": "g++.exe build active file",//调试前执行的任务,就是之前配置的tasks.json中的label字段
"type": "cppdbg",//配置类型,只能为cppdbg
"request": "launch",//请求配置类型,可以为launch(启动)或attach(附加)
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",//调试程序的路径名称
"args": [],//调试传递参数
"stopAtEntry": false,
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": true,//true显示外置的控制台窗口,false显示内置终端
"MIMode": "gdb",
"miDebuggerPath": "D:\\Tool\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}

远程连接虚拟机

参考:https://blog.csdn.net/qq_33909269/article/details/136676954

安装remote-ssh扩展

image-20251010133754614

Ubuntu22.04。虚拟机安装openssh-server和net-tools

1
2
sudo apt-get install openssh-server
sudo apt install net-tools

image-20251010134134256

然后获取虚拟机地址: ifconfig。这里ip是192.168.119.133image-20251010134252940

配置VSCode的远程连接。点击VS code左下角的远程资源管理器-ssh,点击加号,然后输入ssh连接命令,格式为

1
ssh user@ip

image-20251010134629665

完成之后展开SSH那一栏,看到多了一个连接,点击向右的箭头进行连接。连接失败

检查了可以ping虚拟机,虚拟机ssh服务在运行,22端口在监听,防火墙没开启,在命令行里尝试ssh连接也不成功

image-20251010140146877

使用详细模式进行连接,查看错误信息

1
ssh -vvv anthon@192.168.119.133

找不出问题….我搁

image-20251010142531511

网络配置

回来了,不记得之前啥问题了,不过虚拟机主机ip都要静态才行。

看虚拟网卡的配置

image-20251209094454852

虚拟机,编辑/etc/netplan下的文件

1
2
3
4
5
6
7
8
9
10
11
12
13
# Let NetworkManager manage all devices on this system
network:
version: 2
renderer: NetworkManager
ethernets:
ens33: # 网卡名称
dhcp4: no # 禁用动态IP分配,以便于下面添加静态IP、网关和DNS服务器的信息
addresses: [192.168.119.99/24] # 静态ip地址
routes:
- to: default
via: 192.168.119.2
nameservers:
addresses: [8.8.8.8, 114.114.114.114] # dns服务器地址

应用配置和重启服务

1
2
sudo netplan apply
sudo systemctl restart systemd-networkd

主机对应的网络适配器里改静态ip

这回是密钥不一致(大概因为以前用过其他的机子用这个ip)

image-20251209094948550

删除旧密钥

1
ssh-keygen -R 192.168.119.99

image-20251209095102569

再尝试ssh可以了,但是VSCode里还是不行。发现每次连接都是显示

1
2
3
4
5
6
[10:01:48.442] > Anthon@192.168.119.99's password: 
[10:01:48.442] Showing password prompt
[10:02:10.267] Got password response
[10:02:10.268] "install" wrote data to terminal: "***********"
[10:02:10.296] >
[10:02:13.895] > Permission denied, please try again.

不知道为什么首字母就是要给我大写,导致密码对不上。给ai看了日志他说这几行没出现路径也没出现用户名,说明没加载ssh的配置文件,直接用windows用户名去连接了

1
2
3
[10:01:35.793] SSH Resolver called for host: 192.168.119.99
...
[10:01:37.403] > OpenSSH_9.7p1, ...

按照建议在setting里写死了ssh的配置文件路径

1
"remote.SSH.configFile": "C:\\Users\\Anthon\\.ssh\\config"

连接正常了,不过卡在了下载VSCode服务器

正在下载VSCode服务器

一天了捏

image-20251209232503084

打开remote ssh的设置,取消Exec Server

image-20251209232654880

这个改成always,意思是总是下载到本地再传输过去

image-20251209232808982

说这个问题可能是因为vscode自动更新了

配置密钥(免密连接

先用ssh生成公钥私钥。然后在远程的~/.ssh/authorized_keys里添加公钥

最后可能需要配置一下使用的公钥路径,如果没有自动选择的话

禁止自动更新

设置里搜更新,这一项改为none

image-20251209233106204

其他小东西

在终端中运行

文件-首选项-设置,勾选run-in-terminal

image-20251105113141305

中文乱码

https://blog.csdn.net/lzyws739307453/article/details/89823900

https://blog.csdn.net/m0_67790374/article/details/126688597

是因为windows终端默认的编码格式和VSCode的不一样,VSCode默认是UTF-8,终端默认是gbk啥的。可以在右下角修编码格式

或者也有持久化的方法:打开setting.json,在后面加上

1
2
3
4
5
6
7
8
9
10
11
12
13
"files.encoding": "utf8",
"terminal.integrated.profiles.windows": {
"Command Prompt": {
"path": "C:\\Windows\\System32\\cmd.exe",
"args": ["-NoExit", "/K", "chcp 65001"]
},
"PowerShell": {
"path": "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
"args": ["-NoExit", "/C", "chcp 65001"]
}
},
"terminal.integrated.defaultProfile.windows": "Command Prompt"

实际上是设定终端参数。改完之后要重启终端

默认在当前目录打开终端

https://www.cnblogs.com/jq178/p/18686517

打开设置搜cwd,改成${fileDirname}

image-20251211090023763