首页 > 系统相关 >windows平台中使用vscode远程连接linux进行c++开发配置教程(内容详细适合小白)-2021-3-30

windows平台中使用vscode远程连接linux进行c++开发配置教程(内容详细适合小白)-2021-3-30

时间:2024-08-08 10:07:45浏览次数:15  
标签:插入 windows 30 vscode json 设置 linux 安装

文章目录

一、简要介绍

vscode作为广受欢迎的程序编辑器,可以支持多种语言编写,并提供了丰富和强大的插件。Remote-ssh是vscode提供的ssh服务插件,基于此插件可以实现在windows平台下远程连接linux平台进行软件开发,这种方式也成为了腾讯阿里等互联网企业广受欢迎的开发方式之一。本文将详细介绍在windows平台中使用vscode远程连接linux进行c++开发的软件安装和系统配置教程,如有错误,请指正。

二、软件安装步骤

1.linux系统安装

linux系统可以采用以下方式进行安装使用: 1.直接在另一台电脑上安装linux系统 2.在安装了windows系统的本地电脑上通过虚拟机vmware安装linux系统 3.如果本地电脑上是win10系统,可以使用自带的linux子系统

2.vscode安装

在官网中选择windows平台下的vscode版本进行安装,官网地址:https://code.visualstudio.com/

在这里插入图片描述 在这里插入图片描述

vscode安装之后,可以根据开发需求安装具体的插件,首先可以安装中文插件进行汉化。打开vscode,点击左侧的扩展商店,输入chinese搜索中文插件,选择简体中文进行安装。

在这里插入图片描述 在这里插入图片描述

vscode插件以后一般需要重新启动vscode才能生效,关闭重启后会发现vscode变为中文版。

3.ssh安装

SSH 是Secure Shell 的缩写,它为远程登录会话和其他网络服务提供了安全性的协议。可以在windows平台上运行ssh客户端,linux系统中运行ssh服务端,从而实现windows到linux 的远程连接。 vscode2019以后的版本提供了remote-ssh插件,在windows平台上安装该插件相当于完成了ssh客户端的安装。安装时在扩展商店搜索ssh,选择该插件进行安装。

在这里插入图片描述 在这里插入图片描述

接着查看linux系统上是否安装了ssh服务端,首先可以通过以下命令查看ssh服务是否在运行,若已经在运行说明已经安装ssh服务端并启动运行了。

代码语言:javascript 复制
netstat -nltp |grep ssh
在这里插入图片描述 在这里插入图片描述

若并未找到运行的ssh服务,可以通过以下命令尝试进行启动:

代码语言:javascript 复制
service sshd start

若能成功启动,说明已经安装ssh服务端。若不能启动,说明ssh服务端并未安装,此时需要基于不同的linux发行版本采用不同的命令进行安装。

代码语言:javascript 复制
//如果你用的是redhat,fedora,centos等系列linux发行版,那么敲入以下命令:
sudo yum install sshd 
//如果你使用的是debian,ubuntu,linux mint等系列的linux发行版,那么敲入以下命令:
sudo apt-get install sshd 

安装完成之后,再使用前面介绍的启动命令启动ssh服务即可。若想设置开机后自动启动ssh服务,可以采用以下命令:

代码语言:javascript 复制
chkconfig sshd on
//若是chkconfig sshd off则禁止SSH开机启动

4.配置Remote-SSH

安装完成后会出现一个远程资源管理器图标,其中可以选择SSH Targets。

在这里插入图片描述 在这里插入图片描述

然后点击配置,并在右侧的命令窗口中选择第一个配置文件。

在这里插入图片描述 在这里插入图片描述

配置文件如下所示,其中Host是名字(随便写),HostName 是需要远程连接的ip,也就是我们安装的linux系统的ip地址,User 是远程用户名(如:root),正确设置后保存关闭即可。

在这里插入图片描述 在这里插入图片描述

配置文件中一组信息(host-hostname-user)对应着一个连接目标,会在ssh targets下显示对应目标。可以选择一个目标,进行远程连接。

在这里插入图片描述 在这里插入图片描述

选择远程平台为linux

在这里插入图片描述 在这里插入图片描述

输入前面配置文件中user用户对应的登录密码

在这里插入图片描述 在这里插入图片描述

连接成功之后可以在左下角看到连接标识。

在这里插入图片描述 在这里插入图片描述

若不想每次远程连接时都要输入用户密码,可以设置免密登录方式,不过这样可能在安全性方面有所欠缺,需要自己权衡考虑。

5.安装远程插件

远程连接成功建立后,在扩展商店中可以看到本地和远程主机安装的所有插件,如下所示:

在这里插入图片描述 在这里插入图片描述

为了便于进行c++开发,需要安装c/c++插件和C++ Intellisense插件,安装时需要选择在远程主机进行安装,避免错误安装到本地。

在这里插入图片描述 在这里插入图片描述
在这里插入图片描述 在这里插入图片描述

6.简单小测试

点击左侧资源管理器,选择打开文件夹,可以打开远程主机的文件夹,然后在某个文件夹下新建.cpp文件进行简单练习。

在这里插入图片描述 在这里插入图片描述
在这里插入图片描述 在这里插入图片描述

点击左侧资源管理器,选择打开文件夹,可以打开远程主机的文件夹,然后在该文件夹下新建.cpp文件进行简单练习,可以发现c语言内置的类型int,string等会有类型提示和自动补全,但是stl中的类型没有自动提示。虽然可以实现程序的编写,但还是不太方便,接下来第三章将详细介绍如果通过配置文件配置高效的开发环境。

在这里插入图片描述 在这里插入图片描述

三、配置vscode开发环境

1.默认设置、用户设置、远程设置和工作区设置

vscode设置分为默认设置、用户设置、远程设置和工作区设置四种级别,位于后面级别的设置自动继承前面级别设置的内容;并且后面级别的设置可以修改继承的内容,完成各个模块个性化的调整

默认设置是defaultSettings.json文件,该文件只读不能进行修改;VScode安装后即有的配置文件,包含VScode的所有设置项,后面的所有设置更改,都将会覆盖这个文件中对应的设置项。可以通过左下角的管理打开命令面板,在命令面板中输入setting进行搜索,找到defaultSettings.json文件进行打开,查看默认设置内容。

在这里插入图片描述 在这里插入图片描述
在这里插入图片描述 在这里插入图片描述
在这里插入图片描述 在这里插入图片描述

可以通过左下角管理按钮打开vscode设置界面,当通过vscode将windows远程连接到linux主机时,可以看到用户设置、远程设置和工作区设置三种类型,用户设置对于当前登录windows的用户创建的所有本地vscode项目均生效,远程设置对于vscode远程连接登录的linux用户创建的所有远程vscode项目生效,工作区设置只对当前打开的项目(文件夹)生效

在这里插入图片描述 在这里插入图片描述
在这里插入图片描述 在这里插入图片描述

要修改某个具体选项时,可以在命令行搜索相关选项名进行快速查找,如下所示。

在这里插入图片描述 在这里插入图片描述

不论是用户、远程还是工作区设置,除了通过UI界面进行编辑修改之外,还可以通过json文件进行编辑修改。选择某种类型的设置,在右上角可以通过打开设置按钮打开对应json文件。设置文件上方会显示设置文件所在路径,修改设置文件的内容,即可完成设置编辑。

在这里插入图片描述 在这里插入图片描述
在这里插入图片描述 在这里插入图片描述

三种设置的对应设置文件路径一般如下所示:

代码语言:javascript 复制
- Windows: %APPDATA%CodeUsersettings.json

- Linux: $HOME/.config/Code/User/settings.json

工作空间设置的文件保存在当前目录的.vscode文件夹下。

其中若当前项目中不存在.vscode文件夹时,第一次打开工作区的设置文件时,会自动创建.vscode和setting文件。

在这里插入图片描述 在这里插入图片描述
在这里插入图片描述 在这里插入图片描述

最后,设置中各个选项的具体意义可以在vscode官网进行查看,结合选项意义和实际项目需求即可完成设置。

2.c++开发设置

针对vscode远程连接linux服务器进行c++开发的情况,一般常用的是采用c_cpp_properties.json,tasks.json和launch.json进行环境配置。

a).c_cpp_properties.json

c_cpp_properties.json文件可以通过ctrl+shift+P打开命令面板,然后点击c/c++编辑配置即可打开。首次打开时,会在.vscode文件夹自动创建该文件。

在这里插入图片描述 在这里插入图片描述

c_cpp_properties.json文件是c/c++插件对应的配置文件,允许用户更改前面设置中的部分选项,例如编译器的路径,包含路径,C ++标准(默认为C ++ 17)等,我配置的c_cpp_ properties.json文件内容如下,其中includePath字段新增了“/usr/include/**”路径,这个路径中放置了linux系统常见的头文件,包括c++相关头文件,便于实现项目开发。编译器采用的是g++,若linux系统中未安装g++,则要先进行安装

代码语言:javascript 复制
{
    "configurations": [
        {
            "name": "Linux",
            "includePath": [             //搜索头文件时的路径
                "${workspaceFolder}/**", //默认路径       
                "/usr/include/**"        //新增路径  
            ],
            "defines": [],
            "compilerPath": "/usr/bin/g++", //编译器路径
            "cStandard": "c99",             //编译时采用的c标准
            "cppStandard": "c++14",         //编译时采用的c++标准
            "intelliSenseMode": "gcc-x64"   //智能模式
        }
    ],
    "version": 4
}

配置完成之后我们可以在当前项目文件夹中新建一个简单的hello word程序进行练习,如下所示:

在这里插入图片描述 在这里插入图片描述

b).tasks.json

tasks.json文件来告诉VS Code如何构建(编译)程序。可以在命令面板中点击任务:配置任务按钮,然后选择g++编译的方式(和c_cpp文件中指定的编译器匹配)打开tasks.json文件。首次打开时,会在.vscode文件夹自动创建该文件。

在这里插入图片描述 在这里插入图片描述
在这里插入图片描述 在这里插入图片描述

tasks.json文件的内容如下所示:

代码语言:javascript 复制
{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",                       //编译类型
			"label": "C/C++: g++ build active file",  //标签,用于区分不同任务
			"command": "/usr/bin/g++",                //编译命令
			"args": [                                 //参数
				"-g",
				"${file}",                            //表示当前项目中的所有活动文件
				"-o",
				"${fileDirname}/${fileBasenameNoExtension}"  //表示在当前项目文件夹下生成与活动文件同名但没有扩展名的可执行文件
			],
			"options": {
				"cwd": "${workspaceFolder}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": "build",
			"detail": "compiler: /usr/bin/g++"
		}
	]
}

tasks.json文件设置完成之后,可以在命令面板点击任务:运行任务按钮,并选择执行刚刚设置的任务(通过任务标签进行区分)。任务执行编译时会在下方终端窗口显示编译结果,注意由于tasks.json中编译命令指定的是活动文件,所以在执行任务时必须将要编译的cpp文件打开

在这里插入图片描述 在这里插入图片描述
在这里插入图片描述 在这里插入图片描述

tasks.json文件可以进行修改,一种常见修改如下:

代码语言:javascript 复制
{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",                       //编译类型
			"label": "C/C++: g++ build active file",  //标签,用于区分不同任务
			"command": "/usr/bin/g++",                //编译命令
			"args": [                                 //参数
				"-g",
				"${workspaceFolder}/*.cpp",           //表示当前项目中的cpp文件
				"-o",
				"hello_word"  //生成指定文件名的可执行文件
			],
			"options": {
				"cwd": "${workspaceFolder}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": "build",
			"detail": "compiler: /usr/bin/g++"
		}
	]
}

c).launch.json

launch.json文件用以配置VS Code以在按F5调试程序时启动GDB调试器。若linux系统中未安装gdb,则要先进行安装。在左侧主菜单中,选择“运行和调试” ,然后点击蓝色按钮,选择“ C ++(GDB / LLDB)”,此时vscode自动打开launch.json文件。首次打开时,会在.vscode文件夹自动创建该文件。

在这里插入图片描述 在这里插入图片描述

launch.json文件内容示例如下。

代码语言:javascript 复制
{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [

        {
            "name": "(gdb) 启动",   //名称随便取
            "type": "cppdbg",       //正在使用的调试器,使用Visual Studio Windows时必须为cppvsdbg,使用GDB或LLDB时必须为cppdbg
            "request": "launch",    //表示此配置是用于启动程序还是附加到已运行的实例上
            "program": "${workspaceFolder}/hello_word",   //要执行的可执行文件的完整路径
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",          //可执行程序完整路径(不包含程序名称)
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

设置完成之后,在程序指定位置添加断点,并在“运行和调试”界面开启调试即可进行程序调试。

在这里插入图片描述 在这里插入图片描述

调试时在编辑器的顶部,将显示一个调试控制面板,可以进行单步、多步调试控制,同时在编辑器左侧会显示局部变量、监视的变量和程序调用堆栈等信息。

在这里插入图片描述 在这里插入图片描述

总结

本文对在windows下通过vscode远程连接linux服务器进行开发的环境搭建进行了简单介绍,如有不当之处,请指正。

标签:插入,windows,30,vscode,json,设置,linux,安装
From: https://www.cnblogs.com/lidabo/p/18348376

相关文章

  • 掌握 R 软件在 Windows 及 Mac 上的下载安装流程
    临床数据科学是一门综合利用统计学、数据挖掘、机器学习和信息技术等方法,对临床数据进行分析和解释的学科。它的目标是从海量的临床数据中挖掘出有价值的信息,以支持医疗决策,提高医疗质量,降低医疗成本,并促进医学研究的发展。临床数据科学的研究对象包括电子病历、基因组数据、......
  • Linux shell脚本案例:使用正则表达式匹配目录并定时删除日期早于当前系统日期的所有目
    实现每周三和每周日执行清理/NFS目录的任务,你可以使用shell脚本结合cron定时任务。下面是一个示例脚本,它会删除/NFS目录下所有名称形如XBK_FULL_YYYYMMDDHHMMSS和XBK_INCR_YYYYMMDDHHMMSS的目录,其中日期早于当前系统日期。步骤1:创建Shell脚本创建脚本......
  • 离线win/mac下vscode客户端通过ssh连接linux服务器
    1、下载vscode,这个网上教程一大堆就不一一介绍了,自行百度建议安装蓝色的版本,最后图标是蓝色的。下载网址:VisualStudioCode-CodeEditing.Redefined2、win系统或mac系统安装openssh,这个也一大堆教程,可以自行百度3、安装vscode插件下载网址:ExtensionsforVisual......
  • (nice!!!)LeetCode 3130. 找出所有稳定的二进制数组 II(动态规划dp)
    题目:3130.找出所有稳定的二进制数组II思路:大佬的思路classSolution{public:intmod=1e9+7;typedeflonglongLL;LLsta[1010][1010][2];//当前还有i个0、j个1时,第i+j的位置放置u,可以组成的合法数目LLdfs(inti,intj,intu,intlimit)......
  • Linux磁盘阵列RAID
    目录一、RAID磁盘阵列1.RAID概述二、磁盘列正详解1.RAID0磁盘介绍 2.RAID1磁盘阵列介绍 3.RAID5磁盘阵列介绍 4.RAID6磁盘阵列介绍 5.RAID10  5.1RAID1+0(先做镜像、再做条带) 5.2RAID0+1(先做条带、再做镜像) 二、实验RAID设备创建与删除......
  • 034.CI4框架CodeIgniter,纯净windows系统,一步步安装composer和CodeIgniter 4.5.4
    安装git选择路径 一路回车安装 安装phpstudy 安装好的界面 下载php8.2.9  点一下默认配置,确定 php版本要选择php8.2.9 需要安装的php扩展如下 点开网站的管理,设置一个根目录 php,启动 在根目录创建一个index.html的文件,用浏览器打开,看看能不能访......
  • 【c++】Linux MySQL连接池
    #ifndefMYSQLCONNECTION_H#defineMYSQLCONNECTION_H#include<iostream>#include<mysql.h>#include<vector>classMySQLConnection{public: ///<summary> ///初始化连接 ///</summary> MySQLConnection(); MySQLConnection(MySQ......
  • Linux下自动监控进程运行状态
    目录背景应用举例1、使用crontab+脚本监控服务2、使用shell脚本监控服务2.1编写自定义监控脚本2.2运行脚本背景假设有一个服务需要长期运行,但可能会由于某种原因导致服务意外停止,不能及时发现,某天来到公司后发现出问题了才意识到服务挂了。此时再去手动重启服务......
  • RK3588—安装Linux系统以及环境配置
    neardiRK3588—安装Linux系统一、安装linux系统由于买的是neardi的LPB3588开发板,直接找它的官方手册:http://wiki.neardi.com/wiki/LPB3588/zh_CN/ 二、其他问题(1)无法读取U盘sudochmod777/media/<username>/(这里是sudochmod777/media/neardi/)(2)pip3安装s......
  • Ubuntu Linux 搭建邮件服务器(postfix + dovecot)
    准备工作1.一台公网服务器(需要不被服务商限制发件收件的,也就是端口25、110、143、465、587、993、995不被限制),如有防火墙或安全组需要把这些端口开放2.一个域名,最好是comcnorg的一级域名3.域名备案(如果服务器是国外的则不需要备案)一、配置域名解析1.登录阿里云,找到云解......