当前位置: 首页 > news >正文

Vscode LinuxC++环境配置

C++环境配置

文章目录

  • C++环境配置
      • 一、Visual Studio Code相关信息
      • 二、Python开发环境配置
      • 三、C++ 开发环境配置
      • 四、第一个C++程序
      • 五、附录:vs code 中变量解释

一、Visual Studio Code相关信息

  • Visual Studio Code 下载地址:https://code.visualstudio.com/download
  • VS Code建议安装插件列表:
    • 中文菜单:
      • MS-CEINTL.vscode-language-pack-zh-hans
    • SSH远程开发:
      • ms-vscode-remote.remote-ssh
      • ms-vscode-remote.remote-ssh-edit
      • ms-vscode.remote-explorer
    • C++开发
      • ms-vscode.cpptools
    • python开发
      • ms-python.python
    • 代码补全
      • TabNine.tabnine-vscode
      • GitHub.copilot
  • VS Code SSH远程连接Ubuntu主机
    • 本地Ubuntu示例
    • autoDL示例:
      • autoDL地址:https://www.autodl.com/home
      • 省钱妙招:无卡启动

二、Python开发环境配置

  • 建议conda虚拟环境
  • 测试代码main.py
# python 代码测试# 计算 1+2+3+4+5 的和
sum = 0;
for i in range(5):sum += i# 打印结果
print(sum);
  • debuger配置.vscodelaunch.json添加
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "Python: Current File","type": "python","request": "launch",// "program": "${file}", // 当前文件"program": "main.py", // 指定文件"console": "integratedTerminal","justMyCode": true // false表示可以进入第三方库(如Pytorch)里进行调试}]
}

三、C++ 开发环境配置

  • 测试代码main.cpp
#include <iostream>
using namespace std;int main(){// 计算 1+2+3+4+5int sum {0};for (int i {0}; i < 5; i++){sum += i;}// 输出结果cout << sum << endl;return 0;}
  • 先用g++ main.cpp -o main生成可执行文件
  • 再用VS Code 菜单:终端-运行生成任务生成可执行文件,需要在.vscode先添加tasks.json

Linux中可以使用which g++确定g++的路径

{"version": "2.0.0","tasks": [{"type": "cppbuild","label": "C/C++: g++ 生成活动文件","command": "/usr/bin/g++", // g++的路径"args": ["-fdiagnostics-color=always", // 颜色"-g",  // 调试信息"-Wall", // 开启所有警告"-std=c++14", // c++14标准"${file}", // 文件本身,仅适用于C++基础知识教学,无法同时编译所有文件// "${fileDirname}/*.cpp", // 文件所在的文件夹路径下所有cpp文件"-o", // 输出"${workspaceFolder}/release/${fileBasenameNoExtension}" // 文件所在的文件夹路径/release/当前文件的文件名,不带后缀],"options": {"cwd": "${fileDirname}" // 文件所在的文件夹路径},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "编译器: /usr/bin/g++"}]
}
  • 需要debuger,launch.json修改为:
{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name": "(gdb) 启动","type": "cppdbg", // C++调试"request": "launch","program": "${workspaceFolder}/release/${fileBasenameNoExtension}",  // 文件所在的文件夹路径/release/当前文件的文件名,不带后缀"args": [],"stopAtEntry": false,"cwd": "${fileDirname}", // 文件所在的文件夹路径"environment": [],"externalConsole": false,"MIMode": "gdb","setupCommands": [{"description": "为 gdb 启用整齐打印","text": "-enable-pretty-printing","ignoreFailures": true},{"description":  "将反汇编风格设置为 Intel","text": "-gdb-set disassembly-flavor intel","ignoreFailures": true}],"preLaunchTask": "C/C++: g++ 生成活动文件" // tasks.json的label},{"name": "Python: Current File","type": "python","request": "launch","program": "${file}", // 当前文件// "program": "demo.py", // 指定文件"console": "integratedTerminal","justMyCode": true // false表示可以进入第三方库(如Pytorch)里进行调试}]
}

四、第一个C++程序

#include <iostream>int main(){int favorites_num;std::cout << "请输入0~10中你最喜欢的数字:" ;std::cin >> favorites_num;std::cout << favorites_num << "也是我喜欢的数字!" << std::endl;return 0;
}

五、附录:vs code 中变量解释

以:/home/Coding/Test/.vscode/tasks.json 为例${workspaceFolder} :表示当前workspace文件夹路径,也即/home/Coding/Test${workspaceRootFolderName}:表示workspace的文件夹名,也即Test${file}:文件自身的绝对路径,也即/home/Coding/Test/.vscode/tasks.json${relativeFile}:文件在workspace中的路径,也即.vscode/tasks.json${fileBasenameNoExtension}:当前文件的文件名,不带后缀,也即tasks${fileBasename}:当前文件的文件名,tasks.json${fileDirname}:文件所在的文件夹路径,也即/home/Coding/Test/.vscode${fileExtname}:当前文件的后缀,也即.json${lineNumber}:当前文件光标所在的行号${env:PATH}:系统中的环境变量
http://www.lryc.cn/news/216507.html

相关文章:

  • 【tensorboard打开失败】No dashboards are active for the current data set.
  • 客服管理者如何调动客服人员的积极性?
  • Jenkins自动化部署简单配置
  • Linux————内置命令大全
  • 从用户角度出发,如何优化大数据可视化体验|北京蓝蓝UI设计公司
  • 【vue】封装树形下拉框组件 el-popover+el-tree+el-select
  • docker安装Kafka,SpringBoot整合Kafka
  • MySQL - InnoDB 的事务支持、锁机制
  • Android Studio的笔记--Module新建和使用
  • Git统计个人提交代码行数
  • Collction的List方法,list特有方法,遍历方式,迭代器选择
  • 奇偶校验码和循环冗余码
  • Recommender System复习(考试向)
  • SpringBoot绑定配置文件中变量的四种方式-解析
  • linux 安装 elasticsearch 全教程
  • 更快更准 | YOLOv3算法超详细解析(包括诞生背景+论文解析+技术原理等)
  • 【ChatGPT】教我 Flyweight(享元) 模式
  • 双十一越来越早,公域电商何去何从——深度解析
  • 区块链中的 “不可能三角,技术性ppt突出关键技术点,数据交易-安全问题
  • [Docker]五.Docker中Dockerfile详解
  • react使用react-sortable-hoc实现拖拽
  • 实习日常的点点滴滴记录(Spring Boot的核心注解)------慢慢积累,厚积薄发(要学的东西还好多,加油!))(知识和实践的结合)
  • 第 04 章_逻辑架构
  • 免费API接口资源推荐
  • LuatOS-SOC接口文档(air780E)--miniz - 简易zlib压缩
  • 一整套智慧工地源码,劳务实名制、施工安全管理、绿色施工、危大工程设备监测、视频AI识别功能
  • 世微 DC-DC平均电流双路降压恒流驱动器 LED车灯AP2813
  • ES6~ES13新特性(一)
  • 基于 Amazon EC2 和 Amazon Systems Manager Session Manager 的堡垒机的设计和自动化实现
  • RFID管理方案有效提升电力物资管理效率与资产安全