【小白篇】Vscode配置Python和C++环境

news2024/12/23 1:07:59

文章目录

  • 一、配置python环境
  • 二、配置C++环境
    • 2.1 安装MinGW编译器
    • 2.2 安装C/C++扩展
    • 2.3 配置C/C++环境
      • (1)配置编译器
      • (2)配置构建任务
      • (3)配置调试设置
    • 2.4 测试例子
    • 2.5 注意事项
  • 三、插件
  • Reference

一、配置python环境

之前用pycharm写的python,vscode略显轻量级,操作:

  • Ctrl+Shift+P 或者 View > Command Palette,输入Python: Select Interpreter,选择python解释器(可以使用anaconda的环境)
  • 安装插件:

在这里插入图片描述

  • 可以在terminal交互/运行代码:terminal->new terminal

二、配置C++环境

之前学习C++都是在VS上跑代码,也可以使用更轻量级的vscode,vscode只是一个文本编辑器,仅需要安装对应编程语言的扩展,还需要安装相应的编译器或者解释器。

首先先创建一个文件夹,用来存放代码。此处建议不同的编程语言采用不同的文件夹,因为VSCode打开文件夹(称作工作目录)之后,如果进行一定的配置之后,会在该文件夹下产生一个叫".vscode"的文件夹,该文件夹中存放的是一些.json的配置文件,这些配置文件是对工作目录中的代码文件产生作用的。所以以后需要相同开发环境的时候,不用每次都去创建配置文件并进行相关配置,直接拷贝.vscode文件夹即可,但是第一次还是需要手动配置出自己所需的环境。

2.1 安装MinGW编译器

C/C++编译器有多种,可以选择MinGW编译器。
下载地址:MinGW编译器。

注意:这里要求修改路径名称,确保路径中不包含空格和中文字符,尤其是空格,因为默认位置上有空格的,一定要修改相应安装的路径。

2.2 安装C/C++扩展

搜插件,“C/C++”。记得重启vscode。

2.3 配置C/C++环境

(1)配置编译器

接下来配置编译器路径,按快捷键Ctrl+Shift+P调出命令面板,输入C/C++,选择“Edit Configurations(UI)”进入配置。这里配置两个选项: - 编译器路径:D:/mingw-w64/x86_64-8.1.0-win32-seh-rt_v6-rev0/mingw64/bin/g++.exe
在这里插入图片描述

(2)配置构建任务

(1)创建一个tasks.json文件来告诉VS Code如何构建(编译)程序。该任务将调用g++编译器基于源代码创建可执行文件。 按快捷键Ctrl+Shift+P调出命令面板,输入tasks,选择“Tasks:Configure Default Build Task”;
(2)再选择“C/C++: g++.exe build active file”,此时会出现一个名为tasks.json的配置文件;

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "D:\\VSCODE\\mingw64\\bin\\g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "调试器生成的任务。"
        }
    ],
    "version": "2.0.0"
}

(3)配置调试设置

(1)这里主要是为了在.vscode文件夹中产生一个launch.json文件,用来配置调试的相关信息。点击菜单栏的Debug–>Start Debugging;
(2)选择C++(GDB/LLDB),紧接着会产生一个launch.json的文件;
(3)点击Add Configuration按钮自己添加配置,也可以直接将下面配置好的json文件内容复制过去:

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\VSCODE\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
        }
    ]
}

2.4 测试例子

在这里插入图片描述

  • 小结:
    • 其实只要注意下几个json文件的生成,其中launch.jsontasks.json文件是只要【启动调试】就能自动生成的,然后按vscode的最右下角的Win32就能生成c_cpp_properties.json文件(注意需要在此之前需要下载插件C/C++ Extension Pack)。
    • 另外是文件的存放,Include文件夹存放.h的头文件,然后lib文件夹存放各种.cpp文件,最后的main.cpp文件就直接放在两个文件夹的外面即可。
    • 如果打开的文件,外面还有一层文件,则生成的.vscode文件夹可能会出现在外面的文件夹中。

2.5 注意事项

  • 按照reference第一个配置环境会很麻烦,因为ctrl+shift+p然后搞出来的json配置文件,需要自己填的参数很多,最简单的生成launch.jsontasks.json就通过【运行】【启动调试】就自动产生了,然后只用修改tasks.jsonargs添加头文件和对应的cpp源程序;还有一个c_cpp_properties.json文件就按vscode最右下角的win32然后按【编辑配置(JSON)】即可。
  • vscode报错任务c/c++:g++.exe生成活动文件 的常见原因:
    • tasks.json定义了要执行的任务,例如编译任务
    • launch.json定义要执行的调试任务,例如调试c/c++程序
    • ctrl+shift+P打开Command Palette,运行C/Cpp: Edit configurations…生成c_cpp_properties.json
    • 在c_cpp_properties.json中includePath的默认设置只有当前目录,需要将系统依赖加入。
      在下令行内里输入 gcc -v -E -x c++ -在效果内里找到头文件目录,然后添加到includepath中。
    • gcc带不同参数的含义:“-g"产生调试信息,”-c"编译中间目标文件,“-I"指定链接库,”-o"生成指定命名的可执行文件。

三、插件

  • codegeex插件:可以将代码“翻译”成不同编程语言的代码、AI自动化写注释、解释代码等功能
  • vscode还有很多有趣插件可以使用,暂略,下次介绍。

Reference

[1] 官方文档:https://code.visualstudio.com/docs/languages/cpp
[2] https://zhuanlan.zhihu.com/p/87864677
[3] https://code.visualstudio.com/docs/cpp/config-msvc
[4] vscode的变量设置:https://code.visualstudio.com/docs/editor/variables-reference
[5] Windows下用VScode编写C++程序如何添加并应用自定义头文件
[6] https://code.visualstudio.com/docs/cpp/config-clang-mac
[7] Mac下vscode配置c/c++开发环境

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

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

相关文章

MongoDB文档--基本概念

阿丹: 不断拓展自己的技术栈,不断学习新技术。 基本概念 MongoDB中文手册|官方文档中文版 - MongoDB-CN-Manual mongdb是文档数据库 MongoDB中的记录是一个文档,它是由字段和值对组成的数据结构。MongoDB文档类似于JSON对象。字段的值可以包…

网络安全【黑客技术】自学

1.网络安全是什么 网络安全可以基于攻击和防御视角来分类,我们经常听到的 “红队”、“渗透测试” 等就是研究攻击技术,而“蓝队”、“安全运营”、“安全运维”则研究防御技术。 2.网络安全市场 一、是市场需求量高; 二、则是发展相对成…

windows mysql5.7 开启binlog

查看binlog是否开启 show variables like %log_bin%; 找到安装目录的mysql配置文件 my.ini 编辑 my.ini文件 log-bin D:\Program Files\mysql\logs\log-bin binlog_format ROW server_id 2 按照 log-bin D:\Program Files\mysql\logs\log-bin 创建文件 重启mysql服务 重启…

医疗知识图谱问答 —— 数据同步

前言 前面的文章已经介绍了 neo4j 服务的本地安装,以及数据的增删改查操作方法。那么这里就要进入 python 项目,来完成医疗知识的构建,问答机器人的代码实现。但篇幅较长,本文就主要介绍知识图谱的构建吧。 环境 Anaconda3 Pyth…

外贸国际企业邮箱选择指南:哪家提供更优质的服务?

在当今的数字时代,跨国企业需要与世界各地的客户和合作伙伴保持联系。这就是为什么选择适合其全球运营的功能的正确的业务邮箱是至关重要的。 国际企业邮箱最受欢迎的选择是专门为外贸设计的邮箱服务。它们提供了一系列工具,如国际域名和自动语言翻译&am…

用代码获取每天热点内容信息,并发送到自己的邮箱

前言 大家早好、午好、晚好吖 ❤ ~欢迎光临本文章 本篇文章内容主要为如何用代码,把你想要的内容,以邮件的形式发送出去 内容可以自己完善,还可以设置一个定时发送,或者开机启动自动运行代码 开发环境: python 3.8 运行代码 p…

python算法指南程序员经典,python算法教程pdf百度云

大家好,小编来为大家解答以下问题,你也能看懂的python算法书 pdf,python算法教程这本书怎么样,现在让我们一起来看看吧! 给大家带来的一篇关于算法相关的电子书资源,介绍了关于算法、详解、算法基础方面的内…

无涯教程-Lua - 面向对象

面向对象编程(OOP)是现代编程时代中使用最广泛的编程技术之一。 OOP的特征 类(Class) - 类是用于创建对象的可扩展模板。 对象(Objects) - 它是类的实例,并为其分配了单独的内存空间。 继承(Inheritance) - 这是一个概…

操作系统第二章——进程与线程(圆满)

欲渡黄河冰塞川,将登太行雪满山 文章目录 2.3.7 生产者消费者问题能否改变相邻的PV操作的顺序知识回顾 2.3.8 多生产者多消费者问题问题描述关系分析各个进程之间的PV操作设置信号量若是不设置互斥信号量缓冲区大于一知识回顾 2.3.9 吸烟者问题知识回顾2.3.10读者写…

leetcod——62不同路径 (动态规划讲解)

62. 不同路径 中等 1.8K 相关企业 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有…

五、JVM-垃圾回收算法

常见的回收算法:标记清除算法、复制算法、标记-整理算法、分代收集算法 1、标记清除算法 第一步:标记(找出内存中需要回收的对象,并且把它们标记出来) 第二步:清除 (清除掉被标记需要回收的对…

【算法提高:动态规划】1.5 状态压缩DP TODO

文章目录 状态压缩DP例题列表棋盘式1064. 小国王⭐🐂(好题!)做题套路总结 327. 玉米田(好题!🐂 和1064. 小国王差不多的题目)292. 炮兵阵地(和上面两道题差不多&#xff…

股票量化系统QTYX选股框架实战案例集|地产看前排承接做后排补涨,砸涨停板吃8点小肉-230801...

前言 “实战案例个股画像”系列和大家分享我基于QTYX选股框架,在实战中选股的案例,和大家一起见证QTYX选股框架逐步完善的过程,帮助大家理解QTYX的精髓。 关于QTYX的使用攻略可以查看链接:QTYX使用攻略 关于QTYX初衷和精髓可以查看…

CSS图片放到<div>里面,自适应宽高全部显示,点击图片跳到新页面预览,点击旋转按钮图片可旋转

有一个需求是图片放到一个固定宽高的<div>里面&#xff0c;不管是横图还是竖图&#xff0c;都要全部显示出来并且保持图片的长宽比例不变形&#xff0c;点击图片可以跳到一个新页面预览&#xff0c;代码如下&#xff1a; <!DOCTYPE html> <html> <head>…

图解系列 DNS查找过程和DNS缓存

DNS 充当地址簿。它将人类可读的域名 (google.com) 转换为机器可读的 IP 地址 (142.251.46.238)。 开局一张图 来自&#xff1a;https://xiaolishen.medium.com/the-dns-lookup-journey-240e9a5d345c 寻址流程 查询浏览器缓存&#xff1a;当你输入一个域名后&#xff0c;浏览…

VS创建QT项目的几个注意点

前提是已经安装好了VS、QT和Qt VS Tool。 一、创建项目无法找到头文件&#xff0c;点击编译运行又可以执行。虽然可以编译运行&#xff0c;但是无法找不到头文件显示是红色并且在开发时无法出现相关代码提示&#xff0c;并且无法导入QT相关头文件。 解决方法&#xff1a; 1、…

Android多线程编程、异步消息处理机制以及new Handler()被标记为过时的解决办法,解决Handler内存泄漏问题和AsyncTask的基本用法

一、Android多线程编程 1、异步消息处理机制 1.1 弱引用 WeakReference&#xff08;弱引用&#xff09;是一种在Java中用于管理对象的引用的特殊引用类型。它的作用是在垃圾回收过程中&#xff0c;允许对象在没有强引用指向它时被回收&#xff08;当一个对象只有弱引用指向它…

如何防止亚马逊买家号关联?

防止亚马逊买家号关联是指避免在同一家亚马逊账户下使用多个买家号。有时&#xff0c;卖家或买家会创建多个买家号来规避亚马逊的规则和限制。然而&#xff0c;这样的行为违反了亚马逊的政策&#xff0c;并可能导致账户被封禁或其他严重的后果。 而想要防关联&#xff0c;可以从…

【Linux】IO 篇:文件调用原理,文件描述符,FILE的内涵,解析重定向,理解缓冲区

文章目录 一、系统调用接口二、文件调用1. 文件描述符 fd2. 文件调用原理3. FILE 三、重定向dup2 四、缓冲区简易 FILE 的代码实现 文件被加载之前&#xff0c;被存在磁盘上&#xff0c;操作文件&#xff0c;文件的部分内容则会被调度到 内存中。 要分析文件&#xff0c;我们也…