VS Code配置C和Python调试环境,以及我自己的配置备份和参考_RandomFS的博客-程序员秘密

技术标签: visual studio code  python  c++  编辑器  ubuntu  

环境配置参考:

这样可以在VS Code 中同时编写和调试 C语言和Python 的程序啦。
在Vscode 工作区中,
按F5键 调试运行 Python 程序
按F6键 调试运行 C语言 程序

在这里插入图片描述
在这里插入图片描述



我的设备和平台版本相关信息:

操作系统:
在这里插入图片描述
C语言编译器版本:
在这里插入图片描述

Python语言版本:
在这里插入图片描述
VS Code版本:
在这里插入图片描述



VS Code 各文件配置内容

launch.json
{
    
    "version": "0.2.0",
    "configurations": [
        
        {
    
            "name": "Python3",
            "type": "python",
            "request": "launch",
            "stopOnEntry": true,
            "pythonPath": "${config:python.pythonPath}",
            "program": "${file}",
            "cwd": "${workspaceFolder}",
            "env": {
    },
            "envFile": "${workspaceFolder}/.env",
            "console": "integratedTerminal",
        },

        {
    
            "name": "(gdb) Launch",     // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg",           // 配置类型,这里只能为cppdbg
            "request": "launch",        // 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${workspaceRoot}/${fileBasenameNoExtension}.o", // 将要进行调试的程序的路径
            "args": [],                 // 程序调试时传递给程序的命令行参数,一般设为空即可
            "stopAtEntry": false,       // 设为true时程序将暂停在程序入口处,一般设置为false
            "cwd": "${workspaceRoot}",  // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录
            "environment": [],
            "externalConsole": true,    // 调试时是否显示控制台窗口,一般设置为true显示控制台
            "MIMode": "gdb",
            "preLaunchTask": "gcc",     // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
            "setupCommands": [
                {
    
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}


tasks.json
{
    
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
    
            "label": "build(g++)",
            "type": "shell",
            "command": "g++",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}.o"
            ]
        },
        
        {
    
            "label": "python3",
            "type": "shell",
            "command": "python3",
            "args": [
                "${file}"
            ],
            "group": {
    
                "kind": "build",
                "isDefault": true
            },
            "presentation": {
    
                "reveal": "always",
                "panel": "shared"
            },
        }
    ]
}


settings.json
{
    
    "C_Cpp.errorSquiggles": "Enabled",

    "python.pythonPath": "/usr/bin/python3.6",
    "python.linting.pylintEnabled": true,
    "python.linting.flake8Enabled": true,
    "python.formatting.provider": "yapf",
    "terminal.integrated.fontFamily": "monospace",

    "javascript.validate.enable": false
}



安装的插件:

在这里插入图片描述

vscode-fileheader 插件的文件头注释模板内容:

\"\"\"\r
*---------------------------------------------------------------------------\r
* * @Creation date: {
    createTime}\r
* * @Last Modified by:   {
    lastModifiedBy}\r
* * @Version: default\r
* * @Blog:  https://blog.csdn.net/COLDRAIN_END\r
* * @Copyright (c) 2020  {
    author}. All rights reserved.\r
* -------------------------------------------------------------------------\r
* \"\"\"\n
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/COLDRAIN_END/article/details/104362287

智能推荐

nyoj 571 整数划分(三)_少年少年少年奋斗奋斗奋斗的博客-程序员秘密

整数划分(三)时间限制:1000 ms  |  内存限制:65535 KB难度:5描述整数划分是一个经典的问题。请写一个程序,完成以下要求。 输入多组输入数据。每组输入是两个整数n和k。(1 <= n <= 50, 1 <= k <= n)输出对于输入的 n,k;第一行: 将n划分成若干正整数之和的划分数。第二行: 将n划分成k个正整数之和的划分数。第三行: 将n划分成最大...

java filereader 用法_第2章 FileReader类使用_何少言的博客-程序员秘密

1.1 FileReader读数据一次读取一个字符1.1.1 案例代码五:package com.itheima_02;import java.io.FileReader;import java.io.IOException;/** 需求:从文件中读数据并显示到控制台* 读数据--输入流--FileReader** FileReader:* FileReader(String fileName):...

基于proteus的51单片机仿真实例六十二、串口发送和接收字符串实例_在protues都有什么信息接受信息_老马识途单片机的博客-程序员秘密

本系列文章讲述了基于proteus仿真的51单片机学习,内容全面,不仅讲解电路原理,还讲解了单片机c语言,实例丰富,内容全面。

spring官网再次改版后spring框架的下载方法_Just do it 17的博客-程序员秘密

原本想根据网上教程在官网上下载spring框架,结果发现网上给的方法都过时了,链接都找不到,于是我自己在官网上摸索了下,总算找到下载地址,现分享如下:方法一:直接打开链接https://repo.spring.io/webapp/#/artifacts/browse/tree/General/libs-release/spring选择需要版本方法二:进入官网,看到如下页面,点进spring...

float的位操作_float移位操作_po_int的博客-程序员秘密

昨天师兄让用c写一个十进制数转换为IEEE754存储的程序,觉得对IEEE754有点了解,就做了起来刚开始就是接收到数据之后先将十进制数转化为二进制的小数,再将二进制的小数规格化为IEEE754格式。做了半天,先是定义了数组存储二进制的每一位,然后在将二进制位按IEEE754标准存放时卡住了。这时想到记得float就是按照IEEE754存放的,赶紧一查,还真是。果断换方向。今天终于解决。

卷积神经网络 [卷积层可视化]_卷积过后的结果_gukedream的博客-程序员秘密

卷积网络设计的初衷是通过卷积层和池化层逐级提取图像在各个不同抽象层次的特征,我们会有这样的疑问:现实结果真的是这样的吗?先看图像卷积之后的结果。下面是一张卡车的图像:卡车图像用AlexNet网络处理之后,第一个卷积层的输出结果(我们把各个卷积核的结果依次排开了)是这样的:卷层1的结果可以看到这里抽取了一些边缘信息。第二个卷积层的输出结果是这样的:卷层2的结果它抽取...

随便推点

【elasticsearch】elasticsearch教程 es整合springboot教程 kibana安装教程 解决kibana访问404_孟秋与你的博客-程序员秘密

文章目录linux安装esspringboot-data整合eslinux安装eswindows启动可能会遇到的报错, 基本和linux是差不多的 可以参考解决方法官网下载es 。本文以es 7.6 举例 , (es7.15会有api的弃用调整 ,7.15之前的其它7.x版本应该差距较小,但是es大版本之间的差距还是比较大 需要注意api的使用变更)下载地址 :https://www.elastic.co/products/elasticsearch ,找到历史版本进行下载, 这种网站都时不时

SendMessage_洋航的博客-程序员秘密

Win32 API消息函数:SendMessage函数功能:该函数将指定的消息发送到一个或多个窗口。此函数为指定的窗口调用窗口程序,直到窗口程 序处理完消息再返回。而函数PostMessage不同,将一个消息寄送到一个线程的消息队列后立即返回。      函数原型:LRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IPara...

(转)Tomcat配置单点登录(Single Sign-On)_cndone的博客-程序员秘密

一旦你设置了realm和验证的方法,你就需要进行实际的用户登录处理。一般说来,对用户而言登录系统是一件很麻烦的事情,你必须尽量减少用户登录验证的次数。作为缺省的情况,当用户第一次请求受保护的资源时,每一个web应用都会要求用户登录。如果你运行了多个web应用,并且每个应用都需要进行单独的用户验证,那这看起来就有点像你在与你的用户搏斗。用户们不知道怎样才能把多个分离的应用整合成一个单独的系统,所...

Linux更改ssh服务远程登录配置_我不是李大侠的博客-程序员秘密

为什么要更改ssh服务远程登录配置?因为黑客都知道Linux远程连接默认端口为22,管理员用户默认为root,采取默认配置会增大我们系统被黑客入侵成功的概率。 ssh服务端的配置文件是 /ect/ssh/ 路径下的 sshd_config 文件。[[email protected] ~]# ll /etc/ssh/总用量 160-rw-------. 1 root root 125811 11月 23

js的按需导入模块_泥鸽鸽的博客-程序员秘密

我们知道在前端的模块化开发中 需要将js文件封装成一个个模块 这样方便多人开发 也能避免一个文件过大的情况 不过在实际开发过程中 当我们的项目很大的时候 就需要写很多个js模块 如果我们最后都把这些模块打包进生产环境中 就会照成项目过大 加载缓慢 如何解决这个问题呢?我们可以使用按需导入 我们知道用户在实际使用过程中可能只会使用大网站的部分功能 就是说实际上他使用到的js代码不多传统的导入模块方法(静态):这种方法只能在一个模块的头部使用 如果我们希望实现点击一个按钮在加载这个模块的话 你可

sql server Blog_blog sqlserver_bill2006的博客-程序员秘密

从SQL语句的角度 提高数据库的访问性能T-SQL查询进阶--深入浅出视图SQL Server 2008中SQL应用系列及BI学习笔记系列--目录索引C# WinForm TextBox猜想输入和历史记录输入(源码)求字符串中汉字的个数 沧海一叶点滴心得SQL Transcation的一些总结T-SQL查询进阶--详解公用表表达式(CTE)SQL Server 20

推荐文章

热门文章

相关标签