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

在 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.xdnf.cn/news/1560083.html

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

相关文章

360度评估与绩效考核的深度融合,助力员工提升自我

客户背景 该零售业企业是一家集水果采购、种植支持、采后保鲜、物流仓储、标准分级、营销拓展、品牌运营、门店零售、信息科技、金融资本、科研教育于一体的大型连锁企业。 在当今快速变化的商业环境中&#xff0c;企业对于人才管理的要求日益提高&#xff0c;传统的绩效考核方…

WPF 为button动态设置不同的模板

有时候需要动态的设置一些按钮的状态模板。使一个button显示不同的内容&#xff0c;比如Button未点击安装显示&#xff1a; 安装后显示&#xff1a; 可以通过设置button的content&#xff0c;通过content来设置不同的模板来实现功能&#xff0c;以下是代码&#xff1a; MainWi…

基于springboot+vue的在线宠物用品交易网站

一、系统架构 前端&#xff1a;vue | element-ui | html 后端&#xff1a;springboot | mybatis-plus 环境&#xff1a;jdk1.8 | mysql | maven | nodejs 二、代码及数据库 三、功能介绍 01. web端-首页1 02. web端-首页2 03. web端-注册 04. web端-登录 05. w…

服装生产管理:SpringBoot框架的高效策略

5 系统的实现 5.1 登录界面的实现 用户要想进入本系统必须进行登录操作&#xff0c;进入对应角色登录界面&#xff0c;在登录界面输入系统账号、登录密码&#xff0c;选择登录类型&#xff0c;点击登录按钮进行登录系统&#xff0c;管理员登录界面展示如图5-1所示&#xff0c…

2024 kali虚拟机安装教程,分两大步骤,图文讲解(1)

第二步链接&#xff1a; 2024 kali虚拟机安装教程&#xff0c;分两大步骤&#xff0c;图文讲解&#xff08;2&#xff09;-CSDN博客 准备工作 1.kali的iso镜像文件 2.VMware Workstation Pro 虚拟机软件 正式开始 1.创建新的虚拟机&#xff0c;勾选自定义&#xff08;高级…

iOS用户必看:Xinstall助力浏览器秒开App

在移动互联网时代&#xff0c;App已成为我们日常生活中不可或缺的一部分。然而&#xff0c;对于iOS用户来说&#xff0c;有时在浏览器中遇到需要打开特定App的场景时&#xff0c;却可能会遇到一些不便。幸运的是&#xff0c;有了Xinstall&#xff0c;这一切都变得简单而高效。 …

Linux——echo-tail-重定向符

echo命令 类似printf 输出 反引号 重定向符 > 和 >> > 覆盖 >> 追加 tail命令 查看文件尾部内容&#xff0c;追踪文件最新更改 tail -num 从尾部往上读num行&#xff0c;默认10行 tail -f 持续跟踪

C++初阶--C++入门(引用篇)

目录 一、引用的基本概念与特性 1.定义与声明 2.特性 二、引用的进阶用法 1.函数参数传递&#xff1a; 2.引用作为函数返回值&#xff08;重点&#xff09; 引用作为返回值的优点 引用作为返回值的注意事项 代码示例 注意事项的进一步说明 三、传值和传引用效率比较 …

自养号测评:亚马逊测评实操步骤与风险规避策略详解

尽管亚马逊平台明确表态不支持产品测评行为&#xff0c;卖家群体对于测评活动的需求却并未因此减退。这主要是因为&#xff0c;测评在增强产品曝光、推动销量上升及构建品牌信任度方面扮演了不可或缺的角色。在此情境下&#xff0c;即便测评伴随着一定的风险&#xff0c;卖家仍…

探索风能行业前景,博冠将携8K超高清风电场智能运维系统亮相CWP2024北京国际风能大会

当金秋的微风轻抚蔚蓝的天际&#xff0c;全球风电盛会——2024北京国际风能大会暨展览会&#xff08;CWP 2024&#xff09;&#xff0c;将于10月16日至18日在北京中国国际展览中心&#xff08;顺义馆&#xff09;盛大启幕。BOSMA博冠将携旗下全球首个8K超高清风电场智能巡检系统…

中国市场的NFT生存法则:消费属性与圈子文化

自2021年NFT数字藏品概念爆发以来&#xff0c;它迅速吸引了全球范围内的玩家、投资者以及艺术家和品牌的参与。然而&#xff0c;随着市场逐渐冷却&#xff0c;尤其是在中国市场&#xff0c;NFT的定位变得越来越微妙和复杂。在全球其他地区&#xff0c;NFT逐渐走向金融化&#x…

Unity3D相关知识点总结

Unity3D使用的是笛卡尔三维坐标系&#xff0c;并且是以左手坐标系进行展示的。 1.全局坐标系&#xff08;global&#xff09; 全局坐标系描述的是游戏对象在整个世界&#xff08;场景&#xff09;中的相对于坐标原点&#xff08;0&#xff0c;0&#xff0c;0&#xff09;的位置…

在线绘图工具drawio,visio的平替

Draw.io&#xff1a;灵活高效的在线绘图工具推荐 在工作和项目管理中&#xff0c;流程图、架构图和思维导图等可视化图表是非常重要的沟通工具。Draw.io&#xff08;现更名为diagrams.net&#xff09;是一个强大且免费的在线绘图工具&#xff0c;适用于创建各种类型的图表。它功…

激光slam学习笔记5--基于走直线标定RTK与车体旋转外参

背景&#xff1a;车子走直线&#xff0c;可以把RTK标定到车身&#xff0c;之前没有操作过&#xff0c;手推一下公式&#xff0c;发现也挺简单的。 一、证明过程 &#xff08;直接上操作&#xff0c;字错莫怪&#xff0c;嘻嘻&#xff09; 二、进一步解析 1&#xff09;通过…

选择三品软件作为合作伙伴,确保PLM系统成功实施和长期稳定运行

企业在初次实施PLM&#xff08;Product Lifecycle Management&#xff0c;产品生命周期管理&#xff09;系统时&#xff0c;需要细致规划和充分准备。 一、明确需求和目标 战略对齐&#xff1a;首先&#xff0c;企业需要明确PLM系统如何与企业的长期战略相匹配&#xff0c;比如…

腾讯云实时音视频 SDK(TRTC SDK)相关

实时音视频 SDK&#xff08;TRTC SDK&#xff09; 的 RoomID 是什么&#xff1f;取值区间值是多少&#xff1f; RoomID 即房间号&#xff0c;用于唯一标识一个房间。房间号取值区间为1 - 4294967295&#xff0c;由开发者自行维护和分配。 实时音视频 SDK&#xff08;TRTC SDK…

智慧园区平台项目建设方案

随着信息技术的飞速发展&#xff0c;智慧园区作为智慧城市的重要组成部分&#xff0c;正逐渐成为推动城市可持续发展的关键力量。本文旨在探讨智慧园区平台项目的建设内容&#xff0c;以期为相关领域的专家学者和决策者提供参考。 1. 智慧园区的定义与重要性 智慧园区是指运用…

直播预告 | 药品安全与合规保障难?智能温度监测助您领先制药工业4.0!

您是否在为温度敏感药品的运输和存储合规而苦恼&#xff1f; 是否担心冷链物流中的温度监控漏洞导致药品质量下降&#xff1f; 制药环境中的温湿度监控是否让您无从下手&#xff1f; 这些问题不仅影响药品的安全性&#xff0c;也直接影响企业的合规性和市场竞争力。如何确保环…

实验五 队列的应用

实验五 队列的应用 一、实验目的 1&#xff0e;掌握队列的顺序存储结构 2&#xff0e;掌握队列先进先出运算原则在解决实际问题中的应用 二、实验内容 1.仿照教材顺序循环队列的例子&#xff0c;设计一个只使用队头指针和计数器的顺序循环队列抽象数据类型。其中操作包括:初…

a-tree节点自定义内容(ant-design-vue 1.x版)

1.在树结构对应的数据中&#xff0c;给需要自定义层的数据添加scopedSlots属性 this.siteList [{name: "parent1",children: [{name: "children1",},],},{name: "parent2",children: [{name: "children1",},{name: "children2&…