VSCode配置笔记
可是我不敢一个人喝…
(我去怎么写了三个月)这也是乱得可以。先这样
参考:https://blog.csdn.net/qq_45807140/article/details/112862592
https://blog.csdn.net/qq_45807140/article/details/112862592
VSCode
安装VSCode以及c/c++和简体中文扩展。已有

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可能是一个好选择。
综上我选择最后一个

下载后解压到想要的位置,需要是全英文路径
配置环境变量
新建一个环境变量MinGW_HOME,填上安装目录下的\bin目录,因为要找这个目录下的g++.exe

验证:打开命令行输入gcc -v
等会儿这用的是llvm的()

VSCode环境配置
感觉和pycharm有点像,一个项目一个配置这种
新建一个用来写代码的文件夹,用VSCode打开,按下快捷键shift+ctrl+p,展示全局命令面板,搜索找到C/C++ Edit Configurations(UI)

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

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

IntelliSense 模式设为:gcc-x64

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

点击Run(运行)->Add Configuration(添加配置),这样会在.vscode文件夹中生成launch.json文件,这个我的初始配置特别特别简单但是也还能用。现在是这样
1 | { |
远程连接虚拟机
参考:https://blog.csdn.net/qq_33909269/article/details/136676954
安装remote-ssh扩展

Ubuntu22.04。虚拟机安装openssh-server和net-tools
1 | sudo apt-get install openssh-server |

然后获取虚拟机地址: ifconfig。这里ip是192.168.119.133
配置VSCode的远程连接。点击VS code左下角的远程资源管理器-ssh,点击加号,然后输入ssh连接命令,格式为
1 | ssh user@ip |

完成之后展开SSH那一栏,看到多了一个连接,点击向右的箭头进行连接。连接失败
检查了可以ping虚拟机,虚拟机ssh服务在运行,22端口在监听,防火墙没开启,在命令行里尝试ssh连接也不成功

使用详细模式进行连接,查看错误信息
1 | ssh -vvv anthon@192.168.119.133 |
找不出问题….我搁

网络配置
回来了,不记得之前啥问题了,不过虚拟机主机ip都要静态才行。
看虚拟网卡的配置

虚拟机,编辑/etc/netplan下的文件
1 | # Let NetworkManager manage all devices on this system |
应用配置和重启服务
1 | sudo netplan apply |
主机对应的网络适配器里改静态ip
这回是密钥不一致(大概因为以前用过其他的机子用这个ip)

删除旧密钥
1 | ssh-keygen -R 192.168.119.99 |

再尝试ssh可以了,但是VSCode里还是不行。发现每次连接都是显示
1 | [10:01:48.442] > Anthon@192.168.119.99's password: |
不知道为什么首字母就是要给我大写,导致密码对不上。给ai看了日志他说这几行没出现路径也没出现用户名,说明没加载ssh的配置文件,直接用windows用户名去连接了
1 | [10:01:35.793] SSH Resolver called for host: 192.168.119.99 |
按照建议在setting里写死了ssh的配置文件路径
1 | "remote.SSH.configFile": "C:\\Users\\Anthon\\.ssh\\config" |
连接正常了,不过卡在了下载VSCode服务器
正在下载VSCode服务器
一天了捏

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

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

说这个问题可能是因为vscode自动更新了
配置密钥(免密连接
先用ssh生成公钥私钥。然后在远程的~/.ssh/authorized_keys里添加公钥
最后可能需要配置一下使用的公钥路径,如果没有自动选择的话
禁止自动更新
设置里搜更新,这一项改为none

其他小东西
在终端中运行
文件-首选项-设置,勾选run-in-terminal

中文乱码
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 | "files.encoding": "utf8", |
实际上是设定终端参数。改完之后要重启终端
默认在当前目录打开终端
https://www.cnblogs.com/jq178/p/18686517
打开设置搜cwd,改成${fileDirname}
