VScode连接服务器配置c、c++编程环境

news2024/12/26 9:32:09

在 VS Code 中配置远程服务器的 C/C++ 编程环境,可以使用 VS Code 的 Remote-SSH 扩展来通过 SSH 连接到远程服务器,并在服务器上编写、编译和调试 C/C++ 代码。

以下是详细的配置步骤:

1. 在本地机器上安装 VS Code 和扩展

  1. 安装 VS Code: 如果你还没有安装 Visual Studio Code,可以从 VS Code 官方网站 下载并安装。

  2. 安装 Remote-SSH 扩展: 打开 VS Code,点击左侧栏的 Extensions(扩展) 图标,搜索 Remote - SSH,并点击 Install(安装) 按钮。

    安装完成后,你将能够通过 SSH 连接到远程服务器。

2. 配置 SSH 连接

  1. 生成 SSH 密钥(如果没有,一般不需要,可以跳过): 你需要生成 SSH 密钥并将其复制到服务器,以便 VS Code 可以通过 SSH 连接远程服务器。

    在终端中输入以下命令生成密钥:

    ssh-keygen -t rsa -b 2048

    然后使用 ssh-copy-id 将公钥复制到远程服务器:

    ssh-copy-id user@remote-server-ip
  2. 配置 Remote-SSH: 点击 VS Code 界面左下角的 >< 图标,然后选择 Remote-SSH: Connect to Host...

    输入 ssh user@remote-server-ip,其中 user 是服务器的用户名,remote-server-ip 是服务器的 IP 地址或主机名。

  3. 保存 SSH 配置(可选): 你可以在本地的 ~/.ssh/config 文件中保存 SSH 配置,以简化连接步骤:

    Host myserver 
        HostName remote-server-ip 
        User user 
        IdentityFile ~/.ssh/id_rsa

    然后你可以在 VS Code 中直接选择 myserver 来连接。

3. 在服务器上配置 C/C++ 环境

  1. 安装 GCC 或 Clang: 在远程服务器上,你需要确保安装了 C/C++ 编译器。如果没有,可以使用以下命令安装:

    安装 GCC

    sudo apt update sudo apt install build-essential

    安装 Clang(可选)

    sudo apt install clang

  2. 安装 CMake(可选,用于项目管理): 如果你需要使用 CMake 管理项目,可以安装 CMake:

    sudo apt install cmake

4. 配置 VS Code 的 C/C++ 扩展

  1. 安装 C/C++ 扩展: 打开 VS Code,点击 Extensions,搜索 C/C++,然后点击 Install 安装 Microsoft 提供的 C/C++ 扩展。这个扩展提供了代码智能感知、调试等功能。

    C/C++ Extension

  2. 安装 C/C++ Intellisense 和调试工具(可选): 如果需要更好的代码补全和调试功能,可以安装相关插件,如 C/C++ IntellisenseC/C++ Debugger

5. 配置 C/C++ 编译和调试

  1. 创建工作目录: 在服务器上创建一个工作目录,并通过 VS Code 打开它。例如:

    mkdir ~/cpp_project cd ~/cpp_project

  2. 编写简单的 C/C++ 代码: 在 VS Code 中,创建一个 main.cmain.cpp 文件,写一个简单的 C 或 C++ 程序:

    // main.c 
    #include <stdio.h> 
    int main() {
    
        printf("Hello, World!\n"); 
        return 0; 
    }

  3. 创建 tasks.json 文件(用于编译): 在项目根目录的 .vscode 文件夹中,创建一个 tasks.json 文件,用于定义编译任务。比如:

    C程序的tasks.json

    
    { "version": "2.0.0", 
        "tasks": [ 
            { 
                "label": "build C program", 
                "type": "shell", 
                "command": "gcc", 
                "args": [
                     "-g",
                     "main.c", 
                     "-o", "main" 
                        ], 
                "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"], "detail": "Generated task for compiling C program." } ] }

    C++程序的tasks.json

    json

    { "version": "2.0.0", "tasks": [ { "label": "build C++ program", "type": "shell", "command": "g++", "args": [ "-g", "main.cpp", "-o", "main" ], "group": { "kind": "build", "isDefault": true }, "problemMatcher": ["$gcc"], "detail": "Generated task for compiling C++ program." } ] }

  4. 创建 launch.json 文件(用于调试): 在 .vscode 目录下创建 launch.json 文件,配置调试环境。比如:

    C/C++程序的launch.json

    json

    { "version": "0.2.0", "configurations": [ { "name": "Debug C Program", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/main", "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": false, "MIMode": "gdb", "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "build C program", "miDebuggerPath": "/usr/bin/gdb", "logging": { "moduleLoad": false, "trace": false, "engineLogging": false, "programOutput": true, "exceptions": true }, "launchCompleteCommand": "exec-run", "linux": { "MIMode": "gdb" } } ] }

    该文件配置了一个调试 C/C++ 程序的任务,使用 gdb 调试器。

6. 编译和调试 C/C++ 程序

  1. 编译程序: 在 VS Code 中,按下 Ctrl+Shift+B,它将执行你在 tasks.json 中定义的构建任务,编译你的 C/C++ 代码。

  2. 调试程序: 按下 F5 键启动调试器,这将运行你在 launch.json 中配置的调试任务。你可以设置断点、逐步执行代码、查看变量值等。

7.自动格式化

  1. 对于 C/C++,你可以安装 C/C++ 扩展(由 Microsoft 提供),然后设置自动格式化。具体步骤如下:

  2. 安装 C/C++ 扩展

    • 在扩展视图中搜索 C/C++ 并安装。
  3. 设置格式化选项

    • 在设置中搜索 “format on save”,并勾选 Editor: Format On Save
  4. 安装格式化工具(可选):

    • 你可以安装 clang-format,然后在 VSCode 中配置它。
    • 在设置中搜索 “C_Cpp: Clang_format_style”,可以设置为 “file” 或其他风格。

总结

通过 VS Code 连接到远程服务器,你可以像在本地开发一样编写、编译和调试 C/C++ 程序。总结步骤如下:

  1. 安装并配置 Remote-SSH 扩展。
  2. 在远程服务器上安装 GCC/Clang 编译器。
  3. 在 VS Code 中编写 C/C++ 代码,并通过 tasks.json 配置编译任务。
  4. 通过 launch.json 配置调试环境。
  5. 编译、运行和调试你的程序。

这种方式特别适合需要在服务器上进行开发的场景,例如在远程集群或 GPU 服务器上进行开发。如果遇到任何问题或有进一步的疑问,欢迎随时提问!

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

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

相关文章

【测试】——测试管理工具禅道 介绍与使用

&#x1f4d6; 前言&#xff1a;测试管理工具是一种并没有占据明显份额的工具。创业公司可能根本没有测试管理工具&#xff0c;而依赖Excel来管理。中小企业可能会在开源的基础上进行定制。大厂则会自研工具或者使用商业软件。本期以国产开源工具禅道为例来进行讲解。 目录 &am…

通用文件I/O模型之open

前面介绍了linux系统一切皆文件的概念&#xff0c;系统使用一套系统调用函数open()、read()、write()、close()等可以对所有文件执行I/O操作。应用程序发起的I/O请求&#xff0c;内核会将其转化为相应的文件系统操作&#xff0c;或者设备驱动程序操作。接下来我们一起了解一下o…

gitee开源商城diygw-mall

DIYGW可视化开源商城系统。所的界面布局显示都通过低代码可视化开发工具生成源码实现。支持集成微信小程序支付。 DIYGW可视化开源商城系统是一款基于thinkphp8 framework、 element plus admin、uniapp开发而成的前后端分离系统。 开源商城项目源码地址&#xff1a;diygw商城…

funasr: 报错 CUDA error: invalid device ordinal

问题描述 使用案例中的代码加载模型的时候&#xff0c;会报错 CUDA error: invalid device ordinal 运行的代码是 model AutoModel(modelmodel_dir,vad_model"fsmn-vad",vad_kwargs{"max_single_segment_time": 30000},device"cuda:0", ) 解…

C语言预处理详解(下)(31)

文章目录 前言一、命令行定义二、条件编译三、文件包含头文件被包含的方式嵌套文件包含 总结 前言 再介绍几点吧&#xff01; 一、命令行定义 许多C 的编译器提供了一种能力&#xff0c;允许在命令行中定义符号。用于启动编译过程 当我们根据同一个源文件要编译出不同的一个程序…

VScode连接远程服务器踩坑实战(新版离线vscode-server安装)

想要用VScode连接远程服务器&#xff0c;但远程服务器并没有连接外网&#xff0c;因此需要离线手动安装vscode-server但网上的方法都是旧版本的安装&#xff0c;没有新版本的配置。因此记录一下我都踩坑实战。 1、VScode扩展安装与配置 &#xff08;1&#xff09;vscode扩展安…

双十一买什么最划算?2024年双十一选购攻略汇总!

随着一年一度的双十一购物狂欢节日益临近&#xff0c;消费者们纷纷摩拳擦掌&#xff0c;准备在这个全球最大的购物盛宴中抢购心仪已久的商品。双十一不仅是一场购物的狂欢&#xff0c;更是商家们推出优惠、促销的绝佳时机。然而&#xff0c;面对琳琅满目的商品和纷繁复杂的优惠…

《数据密集型应用系统设计》笔记——第二部分 分布式数据系统(ch5-9)

第5章 数据复制 目的&#xff1a; 地理位置更近&#xff0c;降低延迟故障冗余提高读吞吐量 主节点与从节点&#xff08;主从复制&#xff09; 主从复制&#xff1a; 写请求发送给主节点&#xff0c;主节点将新数据写入本地存储&#xff1b;主节点将数据更改作为复制的日志发送…

医学图像处理入门:VS2019+DCMTK3.6.8编译及环境配置

1. 下载DCMTK的源文件包和支持库 首先下载dcmtk软件包&#xff0c;此处我们下载源码和支持库来进行自己编译。下载网址&#xff1a; https://dicom.offis.de/en/dcmtk/dcmtk-software-development/ 如图所示&#xff0c;选择合适的版本进行下载&#xff0c;此处采用VS2019进行…

AI生成视频

分享一个免费的根据文案脚本AI生成视频的网站&#xff1a; https://pictory.ai/?el2000&htrafficsourcepictorybloghttps://pictory.ai/?el2000&htrafficsourcepictoryblog 1、点击Get Started For Free登录 2、登录进入个人主页&#xff0c;可以选择不同的方式生成视…

快速理解OPTIONS请求

快速理解OPTIONS请求 简述实际遇到的问题 简述 OPTIONS请求常被用作一种“预检”请求&#xff0c;以检查实际请求&#xff08;如POST或PUT&#xff09;是否可以被服务器接受。 为什么要有OPTIONS请求&#xff1f; 比如当一个POST请求比较复杂时&#xff0c;传输一个POST请求比…

pdf怎么删除多余不想要的页面?删除pdf多余页面的多个方法

pdf怎么删除多余不想要的页面&#xff1f;在日常办公或学习中&#xff0c;我们经常会遇到需要处理PDF文件的情况。PDF文件因其格式稳定、不易被篡改的特点而广受青睐&#xff0c;但在编辑方面却相对不如Word等文档灵活。有时&#xff0c;在接收或创建的PDF文件中&#xff0c;可…

【含文档】基于Springboot+Android的校园论坛系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

Linux-sed和gawk

文本处理-sed编辑器 文本处理-gawk程序 文本处理-sed编辑器基础 文本处理-sed编辑器基础-使用地址 文本处理-sed编辑器基础-删除行 文本处理-sed编辑器基础-插入和附加文本 文本处理-sed编辑器基础-修改行/转换命令 文本处理-sed编辑器基础-回顾打印-打印行/打印行号/列出行 文…

如何用一套商业模式 整合本地商业 打造强有力的商家联盟!

大家好&#xff0c;我是吴军&#xff0c;来自一家专注于软件开发的公司。 近年来&#xff0c;一种新颖的商业模式异军突起&#xff0c;它不仅为消费者和零售商带来了实质性的利益&#xff0c;也为平台创造了可观的经济回报。 在当前经济环境下&#xff0c;消费者行为愈发理性&…

[SQL] 安装

一 Windows 1.1 下载 进入Mysql的官方网站,点击下载->找到社区版本 选择对应操作系统进行下载。 点击下载 选择直接下载即可 1.2 安装 选择Full安装&#xff1a; MySQL服务器、客户端程序和其他附加工具如果只需要服务端那就选择Server only即可 点击执行,等待组件下载完…

如何批量下载淘宝主图、详情图和SKU图?

如何批量下载淘宝主图、详情图和SKU图&#xff1f;在电商行业竞争日益激烈的今天&#xff0c;电商从业者面临着前所未有的挑战与机遇。为了提升商品竞争力&#xff0c;深入分析对手策略及优化自家产品展示成为日常工作的重中之重。其中&#xff0c;批量下载淘宝主图、详情图和S…

vue cli配置环境变量并使用

1.在根路径下创建.env文件 2.写.env文件内容 文件里存储的值的key要以 VUE_APP 开头 VUE_APP VUE_APP_PUBLIC_PATH/ VUE_APP_PUBLIC_PATH/helper/ 3.使用 publicPath: process.env.VUE_APP_PUBLIC_PATH, 4.配置package.json "serve:production": "vue-cli-s…

FreeRTOS-软件定时器

FreeRTOS-软件定时器 一、软件定时器简介1.1 软件定时器的状态和工作模式 二、软件定时器结构体成员和API函数三、软件定时器实验 一、软件定时器简介 定时器&#xff1a;指定时间开始&#xff0c;经过一个指定的时间&#xff0c;触发一个超时事件&#xff0c;用户可自定义定时…

ThinkPHP5bootstrapMySQL开发学习平台(包括后台管理功能、PC端网页、移动端网页)手把手运行源码

一、项目预览(全部源码链接在最下面) 功能及页面持续优化中...... 二、本地运行方式 1、下载源码包进行解压(源码在最下面) 2、下载phpstudy_pro,并运行Apache&