Visual Studio Code 远端云服务器开发使用指南

目录

一、下载安装

1、官方下载

2、下载加速方案

二、基于Ubuntu系统的开发环境搭建方案

1、开发环境配置

2、云服务器架构

3、工作流程关系

4、总结

三、推荐插件

1、免配置插件

1. Remote-SSH - 远程登录Linux服务器

2. C/C++ - 必备的C/C++开发插件

3. C/C++ Extension Pack - C/C++扩展包

4. C/C++ Themes - 代码主题设置

5. Chinese (Simplified) - 简体中文语言包

6. vscode-icons - 文件图标美化

7. filesize - 在状态栏显示文件大小

8. Include AutoComplete - 自动补全头文件包含

9. GBKtoUTF8 - 自动转换GBK编码到UTF82

2、需要配置的插件

10. koroFileHeader - 文件头部注释自动添加/更新

三、GDB调试配置

1、安装步骤

2、调试注意事项

四、常见问题解决方案

1、管道写入不存在错误

2、异常登录问题

3、C++11支持


一、下载安装

1、官方下载

官网下载地址:Download Visual Studio Code - Mac, Linux, Windows

2、下载加速方案

如果下载速度慢,可以参考以下解决方案:

CSDN博客文章:解决VsCode下载慢问题-CSDN博客


二、基于Ubuntu系统的开发环境搭建方案

我们在后面的学习中会使用一个基于Ubuntu系统的开发环境搭建方案,主要包含以下核心内容:

1、开发环境配置

  • 基础平台:Ubuntu 20.04操作系统
  • 开发工具:VS Code编辑器 + C/C++开发环境
  • 扩展特性:支持通过插件进行个性化配置

2、云服务器架构

  • 核心组件:云服务器实例/虚拟机
  • 切换系统为Ubuntu 20.04发行版:

  • 开发工具联动:VS Code通过专用通道连接云服务器(下面第三点会讲解)

3、工作流程关系

  • 箭头标示了开发环境与云服务的交互关系
  • VS Code作为本地开发终端,通过配置连接远程云服务器
  • 云服务提供完整的后台支持和系统管理功能

4、总结

  • 本地开发环境配置标准(Ubuntu+VS Code+C/C++)
  • 云端资源的部署和管理方式
  • 本地与云端环境的协作机制

        典型应用场景:开发者通过配置好的VS Code环境连接云服务器,进行远程开发工作,同时可利用云平台的重装和备份功能维护开发环境。


三、推荐插件

1、免配置插件

1. Remote-SSH - 远程登录Linux服务器

        安装完成该插件后,左侧出现小电脑图标,点击小电脑图标,然后我们会看到远程资源管理器下面的远程(隧道/SSH)为空: 

点击加号,然后输入登录命令,跟Xshell一样的,然后按Enter:

        弹出下面选项后,点击第一个,也就是本机终端家目录的config配置文件,此时会将刚刚输入的远程主机登录信息添加到SSH配置文件中了:

然后我们可以看到右下角弹出“已添加主机!” :

        我们可以选择“打开配置”查看已经添加的主机,如果没有看到就点击远程(隧道/SSH)的刷新按钮:

也可以在本机电脑中直接按路径查看该配置文件: 

        如下,因为VScode没有提供直接在远程资源管理器中直接删除远端服务器的操作,有点难受。如果想要删除已添加远端机器的话,我们可以直接修改配置文件再保存和刷新即可:

如果我们想要链接远端服务器的话,我们可以选择点击下面的方式进行连接: 

此时我们可以看到“已连接”同时旁边的电脑图标也变成了绿色,并且带一个√号:

        我们此时可以再点击上面的文件按钮,再点击打开文件,此时显示的是云服务器上家目录的路径,此时我们可以填入要进入的目录路径,进入还需要输入一次密码:

        在vscode中,对文件的增删查改是实时变化的,前提是要先在vscode上使用Ctrl+s进行保存。我们在开发时可以使用Ctrl+~打开云服务器的终端,Xshell和vscode中的终端各有各的好处,在开发的时候可以同时使用:

2. C/C++ - 必备的C/C++开发插件

3. C/C++ Extension Pack - C/C++扩展包

        直接下载安装即可,该版本已预装VS Code编写C/C++工程所需的插件(包括C/C++、C/C++ Themes、CMake、CMake Tools和Better C++ Syntax等),省去了逐个查找安装的麻烦。

4. C/C++ Themes - 代码主题设置

5. Chinese (Simplified) - 简体中文语言包

6. vscode-icons - 文件图标美化

7. filesize - 在状态栏显示文件大小

8. Include AutoComplete - 自动补全头文件包含

9. GBKtoUTF8 - 自动转换GBK编码到UTF82

2、需要配置的插件

10. koroFileHeader - 文件头部注释自动添加/更新

参考教程:VSCode插件:KoroFileHeader深度指南:自动生成注释与代码片段定制-CSDN博客


三、GDB调试配置

1、安装步骤

  1. 点击安装 GDB Debug 插件,此时左侧就会出现一个小虫子和暂停的符号

  2. 解决服务器gdb debug missing问题:gdb调试报错:Missing separate debuginfos-CSDN博客

    如果你使用的是CentOS的话,可能涉及yum源更新问题:CentOS 更新yum源_centos更新yum源-CSDN博客

2、调试注意事项

        目前测试发现仍存在一些bug,调试体验可能不够理想,我们日常开发还是使用Xshell中的GDB和CGDB来进行debug调试,这样会比较方便,如果后面有时间的话我会仔细研究一下这款插件。


四、常见问题解决方案

1、管道写入不存在错误

尝试配置正确的config文件路径

2、异常登录问题

  • 在用户家目录下执行:

    ls -al

  • 删除.vscode-server隐藏目录,再重新登录

3、C++11支持

确保在编写代码时启用C++11标准支持:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/90141.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/90141.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

技术演进中的开发沉思-41 MFC系列:定制 AppWizard

MFC开发,最为重要的无非就是用“MFC AppWizard” 对话框做开发了,第一次使用感觉像拆收音机的孩子 —— 左边是项目类型选择,右边是一堆打勾的选项,点完 “完成”,屏幕上就冒出了能直接编译运行的窗口程序。那时还不知…

Libevent(3)之使用教程(2)创建事件

Libevent(3)之使用教程(2)创建事件 Author: Once Day Date: 2025年6月29日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 本文档翻译于:Fast portable non-bl…

Kotlin 作用域函数 let 的实现原理

Kotlin 中的 let 是一个 标准库扩展函数,它广泛用于作用域函数(Scope Functions)中,尤其适用于对可空对象(nullable)做非空判断并执行代码块的场景。 示例代码 val name: String? "123" name?…

从FDTD仿真到光学神经网络:机器学习在光子器件设计中的前沿应用工坊

FDTD仿真与光学神经网络的基础概念 FDTD(时域有限差分)是一种数值方法,用于求解麦克斯韦方程组,广泛应用于光子器件设计。光学神经网络通过光波导、衍射元件等物理结构实现矩阵运算,具有低能耗、高并行的优势。 机器学…

在Ubutu22系统上面离线安装Go语言环境【教程】

0.引言 Go语言(又称Golang)是Google开发的一种静态强类型、编译型、并发型编程语言,由Robert Griesemer、Rob Pike和Ken Thompson于2007年开始设计,2009年正式发布。 1.到官网下载压缩包 2.从win10系统离线上传压缩包给ubuntu22…

CMake实践:CMake3.30版本之前和之后链接boost的方式差异

目录 1.背景 2.boost引入CMake时机 3.CMake 3.30 之前(含 3.29)链接 Boost 的方式 4.CMake 3.30 及之后链接 Boost 的方式 5.CMake3.30后引入Boost的步骤 6.迁移建议(3.30 之前 → 3.30 之后) 7.CMake 3.30 移除FindBoost的…

告别挂马风险!PBootCMS完美替代方案BadouCMS

开发企业网站时一直比较喜欢用pbootcms,标签套用很简单,使用也方便。 但是pbootcms一直有被挂马的问题,官方好像也不怎么更新了!换过好几个cms,比如eyoucms、dedecms、帝国等等,感觉都不怎么能用得习惯,还…

开发者如何集成AI绘画?智创聚合API简化Midjourney接入

在 AI 绘画领域,Midjourney 的大名如雷贯耳,其强大的图像生成能力,能将我们脑海中的奇思妙想,迅速转化为精美的视觉画面,深受设计师、艺术家以及广大创意爱好者的青睐。然而,使用 Midjourney 的过程中&…

pycharm回车、删除、方向键和快捷键等不能使用原因

解决方法 :菜单栏中的Tools取消勾选Vim Emulator 原因 :新版的pycharm安装中,默认安装了vim扩展,一旦安装了pycharm在编写代码时会默认使用Vim编辑器

修复ffmpeg.dll丢失错误|6种解决ffmpeg.dll方法详细教程

看到电脑提示“ffmpeg.dll丢失”,很多人会懵。ffmpeg.dll 是个处理视频、音频的关键文件。它要是没了或坏了,软件就打不开或直接闪退。常见原因是软件安装不全、文件被删、或者中病毒。下面说说它是干嘛的,再给解决办法。一.ffmpeg.dll 到底是…

OkHttp 与 Stetho 结合使用:打造强大的 Android 网络调试工具链

前言在 Android 应用开发过程中,网络请求的调试一直是一个重要但具有挑战性的环节。Facebook 开发的 Stetho 是一个强大的调试工具,当它与 OkHttp 结合使用时,可以为我们提供前所未有的网络请求洞察能力。本文将详细介绍如何将这两者结合使用…

LangGraph教程10:LangGraph ReAct应用

文章目录 ReAct 预构建的代理 向 ReAct 代理添加记忆 向 ReAct 代理添加系统提示 向 ReAct 代理添加人机交互 ReAct 官方文档地址:https://langchain-ai.github.io/langgraph/how-tos/#prebuilt-react-agent 中文文档地址:https://www.aidoczh.com/langgraph/how-tos/#react…

安卓第一个项目

测试所有摄像头 安卓CameraX:https://developer.android.com/media/grow/spatial-audio?hlzh-cn 1、MainActivity.java // 定义包名 package com.mms.densenapplication;// 引入 AppCompatActivity,支持兼容性更强的 Activity import androidx.appcompa…

Google Gemini 体验

文章中代码仓库 gemini 谷歌推出的 AI 只能模型 Gemini官网Gemini ChatGemini开发者文档Gemini SDK 所有模型 模型变体输入输出优化目标Gemini 2.5 Pro gemini-2.5-pro音频、图片、视频、文本和 PDF文本增强的思考和推理能力、多模态理解能力、高级编码能力等Gemini 2.5 Fla…

Trae安装指定版本的插件

前情 Trae是属于国产的跟 Cursor类似的AI编程IDE,我也是第一时间体验Trae的,虽然相比Cursor弱了一些,但是也绝对胜任了,前端因为排队问题我转战了Cursor,等到Trae出收费模式前,我已经办了Cursor会员了&…

【技术追踪】用于医学图像合成和分割的噪声一致孪生扩散模型(CVPR-2025)

孪生扩散模型,生成息肉图像用于提升分割性能! 论文:Noise-Consistent Siamese-Diffusion for Medical Image Synthesis and Segmentation 代码:https://github.com/Qiukunpeng/Siamese-Diffusion 0、摘要 深度学习已彻底革新医学影…

Crontab详解

crontab是Unix/Linux系统中用于设置周期性任务的工具,通过编辑配置文件实现定时执行命令或脚本。以下是其语法规则和核心要点: 一、基本格式 * * * * * command - - - - - | | | | | | | | | ----…

中国1km逐月潜在蒸散发数据集 - matlab按shp批量裁剪

中国1km逐月潜在蒸散发数据集 - matlab按shp批量裁剪 1. 数据概述 2 利用掩膜文件对数据进行裁剪 3 完整代码 4 结语 本篇继续处理气象数据,中国1km逐月潜在蒸散发数据集同前节介绍的中国1km降水数据集一样,都可以从国家青藏高原科学数据中心获得,数据具有同样的空间分辨率(…

Node.js链接MySql

前言: 在现代 Web 开发和后端服务中,Node.js 因其高性能和异步特性被广泛使用。MySQL 作为流行的关系型数据库之一,提供了稳定高效的数据存储和管理能力。将 Node.js 与 MySQL 结合,可以构建强大的数据驱动型应用。 一、环境准备…

Charles 的 Windows proxy 对爬取瑞数6 网站接口数据的作用分析

其实本文还是源于上个月的这篇文章 ➡️▼ 耗时两天半,利用 DrissionPage绕过瑞数6,爬取某药*局数据经历~ 不同点是,当时爬取的是列表页(已爬完),后面爬取的是详情页!懂的都懂,差别还…