VScode、VS2022远程连接linux(OpenEuler)

目录

一.引言:

二.安装准备:

 三.visual studio code 远程连接OpenEuler

1.添加远程连接插件

 2.修改OpenEuler的/etc/ssh/sshd_config文件

3.配置vscode,实现远程连接

 !!!4.修改编译环境

5.调试运行

四.visual studio远程连接OpenEuler

1.visual studio配置组件

 2.打开visual studio,建立一个linux工程

扫描二维码关注公众号,回复: 14678007 查看本文章

 3.编写代码,运行程序


一.引言:

       visual studio code与集成开发环境visual studio都能与Linux服务器进行远程连接,实现跨平台开发,本文基于作者实践,详细阐述远程连接过程,来搭建C++开发环境,实现从linux到windows的跨平台开发。

二.安装准备:

本人安装的是:

  • visual studio code 
  • visual studio 2022
  • OpenEuler 22.03

OpenEuler安装在VMware虚拟机中,安装过程可以参照Ubuntu的安装过程与官方文档:

Quick Start (openeuler.org)https://docs.openeuler.org/zh/docs/20.03_LTS_SP2/docs/Quickstart/quick-start.html慕课详情 (openeuler.org)https://www.openeuler.org/zh/learn/mooc/detail/

OpenEuler要装有g++,gdb与OpenSSL-server:

安装过程:

OpenSSL-server:

 g++:

 gdb:

 三.visual studio code 远程连接OpenEuler

1.添加远程连接插件

左下角设置中寻找拓展

找到该拓展并安装

 2.修改OpenEuler的/etc/ssh/sshd_config文件

语句:

vi /etc/ssh/sshd_config

如果此时你的OpenEuler在你自己的个人账户,在终端打开该文件会出现下面这种情况:

 文件是空的,下面还写着Permission Denied(没有权限),我们顺着地址去寻找以下这个文件

 原来该文件在个人用户中是只读文件,无法修改,所以要切换到根用户,语句如下:

su root

然后输入根用户密码,就进入根用户,再打开该文件:

 找到如下三行:

#AllowAgentForwarding yes

#AllowTcpForwarding yes

#GatewayPorts  no        

改成:

AllowAgentForwarding yes

AllowTcpForwarding yes

GatewayPorts yes 

退出并保存

vi编辑器的使用请看文章:使用Vi编辑器编写Linux0.11程序并编译运行__坐看云起时_的博客-CSDN博客_使用vi编辑器编写程序并执行一.vi编辑器的使用Linux自带的一个文本编辑器。vi编辑器有3种操作模式:命令模式、插入模式和末行模式。命令模式:当输入vi命令后,会首先进入命令模式,此时输入的任何字符都被视为命令。命令模式用于控制屏幕光标移动、文本字符/字/行删除、移动复制某区段,以及进入插入模式或进入末行模式。插入模式:在命令模式输入相应的插入命令(例如i命令)进入该模式。只有在插入模式下,才可以进行文字数据输入及添加代码,按Esc键可回到命令模式。末行模式:在命令模式下输入某些特殊字符,如“/”、“?”和“:https://blog.csdn.net/qq_53162179/article/details/124672146

 然后再在终端输入语句:

systemctl restart sshd.service

刷新服务状态。

3.配置vscode,实现远程连接

 点击“+”之后,上方会出现:

 输入:ssh root@IP地址

IP地址可以在OpenEuler的终端看到

选择第一个:

出现config文件:

 Host:  主机名

HostName:OpenEuler的IP地址

User:root或者自己的账户

这时左侧会出现客户机:

 点击右侧的文件夹按钮: 弹出一个新窗口

 选择linux。

 观察到此时窗口的左下角,已经准备连接OpenEuler了

此时一定要保证:

  • 网络正常连接
  • 虚拟机中操作系统保持正常运行状态

输入用户的密码

发现右下角加载的状态变为:

再点击拓展按钮,发现左侧:

出现绿色对勾

证明连接成功!

 !!!4.修改编译环境

我们搭建这些环境最后都为了调试程序,那么我们现在打开一个文件看会发生什么,点击Open Folder:

 我们会发现,并没有像在windows上打开文件一样弹出文件夹,而是在vscode上方出现:

作者瞬间明白我们现在打开文件,编译调试程序都是在linux系统上做的,那么C++的环境也是用的linux上的,所以OpenEuler中必须要装有g++和gdb,来进行编译与调试

我们来捋顺一下思路,我们利用远程linux服务器来进行编译调试,那么在vscode中编写的代码就需要linux中的编译器与调式方法,所以我们要修改C++配置文件,这点非常非常重要,如果不修改会出现很多情况,在后面visual studio的连接中会体现的淋漓尽致。

可以在终端中利用语句:

sudo yum install g++
sudo yum install gdb

 那么我们也要在OpenEuler中配置一下能让vscode编写C++程序的环境,操作类似windows中,

VsCode安装和配置c/c++环境(超完整,小白专用)_黄化的多多的博客-CSDN博客_vscode安装gcc1. vsCode配置C/C++环境1. vsCode下载和安装1. 下载Microsoft vsCode[vsCode在这里插入图片描述官网下载: https://code.visualstudio.com/2. 安装vsCode3. 下载中文插件我这边已经下载过,刚卸载但是没有重启编译器,所以界面显示了中文2. MinGW编译器下载和配置1. 下载MinGW在线安装——下载MinGW-W64-install.exe(速度慢)下载压缩包——×86_64-posix-https://blog.csdn.net/weixin_48468423/article/details/118950592要设置三个配置文件:

 注意:三个配置文件中几个位置要进行修改:

 注意第8行,地址要设置为OpenEuler中存放g++可执行文件的位置,另外两个配置文件对应的地方都要设置为对应的OpenEuler位置,参看上方的vscode的C++程序文章。

5.调试运行

经典程序Hello world:

 注意要选择第一个C++(GDB/LLDB)

调试后在下方terminal窗口显示Hello World

 我们在终端输入ls,回车

 能看到目录下的文件,远程连接成功,跨平台调试成功!!!

如果之后的链接中出现错误,可能的原因:

  • 未刷新ssh    (解决方法:在终端中输入systemctl restart sshd.service)
  • 网络中断
  • 虚拟机未运行在正常状态

四.visual studio远程连接OpenEuler

1.visual studio配置组件

电脑中找到visual studio installer:

 点击修改后配置linux开发所需环境:

 2.打开visual studio,建立一个linux工程

 可以建立一个控制台应用程序,打开之后软件会给出一个远程连接的动态教程,可以参考

 下面在上方选项卡中寻找 ”工具”——>"选项“,

 在左侧目录中找到:”跨平台“——>"连接管理器”

 

 点击“添加”

 主机名:操作系统IP地址                        用户名:OpenEuler中要连接的账户

端口号不用动                                            密码:所要连接用户的密码

点击连接后,可能出现:

 点击“是”

连接成功:

 下载intelliSense标头

 3.编写代码,运行程序

事情还没有结束,当编写一个C++程序之后,可能会出现下面这种状况:

 所有的#include开头的都显示源文件无法打开,博主查阅资料,尝试如下解决方法:

  • 在installer中补装windows SDK,无效
  • 重装软件  无效
  • 在解决方案的属性中胡乱修改

也有资料建议在解决方案的属性中寻找包含目录,手动添加源文件:

 博主在本地文件夹中找到了各种文件,例如iostream.h,studio.h等,纷纷添加在包含目录中,都无济于事,博主本来是想用visual studio连接,后来打算放弃,尝试vscode连接,就在尝试vscode连接,做到Open Folder打开文件准备调试时,发现打开的是OpenEuler的文件夹,博主立马明白配置的文件都要是linux的,而在visual studio中在“包含目录”中添加文件时,用的都是windows本地的文件。

于是博主在“包含目录”,“库目录”,“源目录”中都添加了OpenEuler中g++的存放路径:

配置完之后,所有的红线立即消失,点击调试,部署成功!

 

在下面的linux控制台窗口可以看到输出:

猜你喜欢

转载自blog.csdn.net/qq_53162179/article/details/127138027
今日推荐