VS Code SSH 远程连接 Ubuntu 并实现快速运行(C/C++示例)

目标:

Windows 上写代码

Ubuntu 上运行代码

也就是:
VSCode → SSH → Ubuntu Server

一、Ubuntu 安装 SSH 服务

在 Ubuntu 终端执行:

复制代码
sudo apt update

sudo apt install openssh-server -y

启动 SSH:

复制代码
sudo systemctl enable ssh

sudo systemctl start ssh

查看状态:

复制代码
sudo systemctl status ssh

看到:active (running)

说明 SSH 已经启动。

二、查看 Ubuntu IP

执行:

复制代码
ip a

找到ip地址

三、Windows 测试 SSH 是否能连

打开 Windows 的 CMD:
ssh 用户名@UbuntuIP

例如:
ssh cov_chong@192.168.124.251

第一次连接会提示:
Are you sure you want to continue connecting?

输入:yes

然后输入 Ubuntu 密码。

注意:输入密码时不会显示字符,这是正常的。

这样就代表连上了。

四、VSCode 安装插件

Windows 打开 VSCode。

进入扩展:Extensions

搜索并安装:Remote - SSH

安装微软官方的那个。

五、配置 SSH

VSCode 按:Ctrl + Shift + P

输入:

复制代码
Remote-SSH: connect current Window to Host

配置SSH主机 -> 设置

自定义配置文件的路径

输入:

复制代码
Remote-SSH: Add New SSH Host

输入命令:ssh username@address

例如:
ssh cov_chong@192.168.124.251

选择路径

配置即可

七、连接 Ubuntu

VSCode 再按:
Ctrl + Shift + P

输入:

复制代码
Remote-SSH: Connect to Host

选择:ubuntu

第一次会问系统类型,选择:Linux

然后输入 Ubuntu 密码。

连接成功后,VSCode 左下角会显示:
SSH: 192.168.124.251

或者:
SSH: ubuntu

这说明已经连上 Ubuntu。

八、VS Code 配置(C/C++示例)

打开文件夹(没有则自行创建)

在左侧资源管理器中创建文件,结构如图所示

你必须要创建.vscode文件夹和settings.json文件

对json文件进行编辑

复制代码
{
  "code-runner.executorMap": {
    "cpp": "g++ \"$fileName\" -std=c++23 -O2 -Wall -o \"$fileNameWithoutExt\" && ./$fileNameWithoutExt"
  }
}

安装Code Runner拓展

注意是在远程主机上安装

其次你还需要安装C/C++ Extension Pack

如果你不安装,你写代码的时候也会弹出来

这里用到Code Runner如果你没看过我之前的文章建议看一下

用局部的json配置是防止全局配置被更改,当然如果你在全局配置也可以

这样ubantu里面就不需要这个json配置,但如果两个平台来回开发就会繁琐

九、在 Ubuntu 上运行代码(C/C++示例)

现在配置已经完成,可以开始编辑代码

cpp 复制代码
#include <iostream>
#include <unistd.h>
#include <arpa/inet.h>

int main() {

    std::cout << "Hello World!" << std::endl;

    return 0;
}

右键运行

恭喜你成功了!

回到ubantu上运行

1.cpp是源文件,我们要运行的是1

这只是个临时名字,可以随意更改,我这里只是图方便

使用./+名字运行

成功!

至此目标已全部实现。

相关推荐
咩咩啃树皮9 小时前
第40篇:Vue3组件化开发精讲——组件拆分、复用、父子通信、工程化架构
java·前端·架构
炸膛坦客9 小时前
单片机/C/C++八股:(二十六)IIC 专题(I²C)---- 上集
c语言·c++·单片机
旖-旎9 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
灯澜忆梦9 小时前
GO_并发编程---定时器
开发语言·后端·golang
鱟鲥鳚9 小时前
Spring Boot 集成 LangChain4j:从模型调用到 Tool Calling(Demo版)
java·spring boot
-银雾鸢尾-10 小时前
C#中的StringBuilder相关方法
开发语言·c#
Henry Zhu12310 小时前
C++中的特殊成员函数与智能指针
c++
-银雾鸢尾-10 小时前
C#中结构体与类的区别;抽象类与接口的区别
开发语言·c#
大模型码小白11 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
腾渊信息科技公司12 小时前
Spring Boot对接MES实战:视觉检测数据自动同步方案
java·人工智能·spring boot·后端·计算机视觉·ai·软件需求