当前位置: 首页 > 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}:系统中的环境变量

相关文章:

  • CentOS开机自动运行jar程序实现
  • Unity AssetBundle批量打包、加载(场景、Prefab)完整流程
  • MySQL数据库干货_16—— SQL99标准中的查询
  • Selenium元素定位之页面检测技巧
  • 【打卡】牛客网:BM35 判断是不是完全二叉树
  • vue的指令学习
  • 一座 “数智桥梁”,华为助力“天堑变通途”
  • golang工程——中间件redis,单节点集群部署
  • vue双向绑定失效,设置data值页面却不显示
  • 线性代数 第六章 二次型
  • 【代码数据】2023粤港澳大湾区金融数学建模B题分享
  • Centos部署清华ChatGLM3-6B详细教程
  • ffmpeg mp3截取命令,视频与mp3合成带音频视频命令
  • 【flink】RowData copy/clone方式
  • 动态规划29(Leetcode714买卖股票的最佳时期含手续费)
  • 2018一半小结一波
  • css选择器
  • Java教程_软件开发基础
  • Js实现点击查看全文(类似今日头条、知乎日报效果)
  • MQ框架的比较
  • Python实现BT种子转化为磁力链接【实战】
  • React+TypeScript入门
  • RxJS: 简单入门
  • 彻底搞懂浏览器Event-loop
  • 创建一个Struts2项目maven 方式
  • 记一次和乔布斯合作最难忘的经历
  • 简单数学运算程序(不定期更新)
  • 如何设计一个比特币钱包服务
  • 手机app有了短信验证码还有没必要有图片验证码?
  • Prometheus VS InfluxDB
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • ​io --- 处理流的核心工具​
  • # C++之functional库用法整理
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (4) openssl rsa/pkey(查看私钥、从私钥中提取公钥、查看公钥)
  • (ZT)出版业改革:该死的死,该生的生
  • (动态规划)5. 最长回文子串 java解决
  • (二)PySpark3:SparkSQL编程
  • (附源码)springboot炼糖厂地磅全自动控制系统 毕业设计 341357
  • (汇总)os模块以及shutil模块对文件的操作
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (转)【Hibernate总结系列】使用举例
  • (转载)OpenStack Hacker养成指南
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .NET 8.0 中有哪些新的变化?
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .net 提取注释生成API文档 帮助文档
  • .NET 中的轻量级线程安全
  • .Net面试题4
  • .net生成的类,跨工程调用显示注释
  • .NET是什么