VSCode--Config

news2024/12/22 19:08:53

1. basic

1.1 调整字体

在这里插入图片描述

1.2 调整 remote login 输入框都在 TERMINAL 中实现

在这里插入图片描述

1.3 界面设置成中文

安装插件:
在这里插入图片描述
然后配置即可。

2.Linux

2.1 Install

2.1.1 offline Install vscode server

  1. 问题描述

    内网开发,vscode 自身通过代理安装完 remote 插件后,还需要在服务器上安装 vscode server插件,但是因为没外网,会卡到这。
    
  2. 下载
    https://github.com/microsoft/vscode/tags
    根据 tag 找到对应的版本.

  3. 安装

    1.创建文件夹 并清空
    mkdir -p ~/.vscode-server/bin
    rm ~/.vscode-server/bin/* -rf  #把$HOME/.vscode-server/bin下的内容删干净,防止出错
    
    2.移动下载的文件到1.创建的文件夹下并解压
    mv vscode-server-linux-x64.tar.gz  ~/.vscode-server/bin	#这个好像写的不对...
    cd ~/.vscode-server/bin
    tar -zxf vscode-server-linux-x64.tar.gz
    3.改名
    mv vscode-server-linux-x64 ${commit_id} # 注意把:${commit_id}替换成对应的Commit ID
    
    4. 在3.改名后的文件夹下创建一个文件 0
    touch ~/.vscode-server/bin/${commit_id}/0
    

2.2 Debug config

有两种方法可配置 vscode 调试程序
方法一.每次在新项目时都自动生成相应的配置文件(推荐不熟悉配置参数的使用)
方法二.使用已有的配置文件(作为参考,自行修改)

需要先安装 插件:
在这里插入图片描述

2.2.1 方法一

参考连接

  1. task.json
    一般点 debug 时 会自动让选择生成(如下图步骤)。

    只有这个文件时可以直接单文件调试。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  2. launch.json
    一般不会直接生成,但可以先生成空的,再通过智能提示配置。
    在这里插入图片描述
    有这个launch.json 就必须 把这个和task.json联系上,
    通过 key值: preLaunchTask 来配置(完整的可以看下面的方法二):

    "preLaunchTask": "prebuild", // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
    

2.2.1 方法二

  1. task.json
// 自动生成的json如下
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "prebuild",
            "command": "/usr/bin/g++",
            "args": [
                "-fdiagnostics-color=always",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}",
                "-lpthread" //连接静态线程库
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}


//配置为自己想要的1
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "prebuild",// 任务名称,与launch.json的preLaunchTask相对应
            // "command": "/usr/bin/g++",
            "command": "make",	//我的小项目写的make编译,这个地方就能直接用。这个地方要重点理解。command + args 就相当于 g++ mainc.cpp -o main
            "args": [
                // "-fdiagnostics-color=always",
                // "-g",
                // "${file}",
                // "-o",
                // "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}

//配置为自己想要的2
{
    "tasks": [
        {
            "type": "shell",  // 可以为shell或process,前者相当于先打开shell再输入命令,后者是直接运行命令
            "label": "build", // 任务名称,与launch.json的preLaunchTask相对应
            "command": "cd ${workspaceFolder}/build;cmake ..;make", // 要使用的编译器,这个地方要重点理解
            "args": [
                
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "Task generated by Debugger."
        }
    ],
    "version": "2.0.0"
}



  1. launch.json
    参数详解官方参考连接
//自动生成的一般为空的,如下
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": []
}

//自动配置的
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "(gdb) Launch",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}/${fileBasenameNoExtension}",
            "args": [
                "1asd"
            ],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "Set Disassembly Flavor to Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "prebuild", // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
        }
    ]
}


//自己根据官方文档Variables Reference 进行configurations配置示例1
{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++ - Build and debug active file", // 配置名称,将会在启动配置的下拉菜单中显示
            "type": "cppdbg",  // 配置类型,这里只能为cppdbg
            "request": "launch",  // 请求配置类型,可以为launch(启动)或attach(附加)
            "program": "${workspaceFolder}/server", // 将要进行调试的程序的路径,根据自己需求进行设置
            "args": ["9999"], // 程序调试时传递给程序的命令行参数
            "stopAtEntry": false,  // 设为true时程序将暂停在程序入口处               
            "cwd": "${workspaceFolder}",  // 调试程序时的工作目录
            "environment": [], // (环境变量)
            "externalConsole": true, // 调试时是否显示外部控制台窗口(就是弹出一个cmd窗口)
            "MIMode": "gdb", // 指定连接的调试器,可以为gdb或lldb。
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "prebuild", // 调试会话开始前执行的任务,一般为编译程序。与tasks.json的label相对应
            "miDebuggerPath": "/usr/bin/gdb"
        }
    ]
}

F.Common Error

1.编辑界面中文乱码

在这里插入图片描述

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

2.输入中文输出乱码

在这里插入图片描述
这是Printf输出乱码问题,和VsCode没关系!!!!!!
C++中Printf和scanf函数参数为char*,而把string类型传入时就会输出乱码,要转一下在输出就显示正常了。
C++ 中 char* 和string 区别

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

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

相关文章

【算法系列之二叉树IV】leetcode450.删除二叉搜索树中的节点

701.二叉搜索树中的插入操作 力扣题目链接 给定二叉搜索树(BST)的根节点 root 和要插入树中的值 value ,将值插入二叉搜索树。 返回插入后二叉搜索树的根节点。 输入数据 保证 ,新值和原始二叉搜索树中的任意节点值都不同。 注…

shell之免交互

一.免交互(Here Document)介绍 使用I/O重定向的方式将命令列表提供给交互式程序或命令,比如 ftp、cat 或 read 命令。是标准输入的一种替代品可以帮助脚本开发人员不必使用临时文件来构建输入信息,而是直接就地生产出一个“文件”…

chatgpt赋能python:Python在主程序中进行函数调用

Python在主程序中进行函数调用 介绍 Python是一种广泛使用的高级编程语言,它在创建Web应用程序、网络服务器、数据分析、机器学习等多个领域中表现出色。在Python中,函数是编程中最重要的概念之一,函数调用是指程序员在主程序中调用一个或多…

系统移植-uboot

目录 一、安装系统 1.移植的目的 2.系统移植过程 Windows装机 Linux系统移植 3.开发板启动过程 二、Uboot概述 1.Bootloader简介 Bootloader基本功能 uboot工作方式 三、SD卡存储结构 一、安装系统 在基于ARM处理器的开发板上安装Linux系统 1.移植的目的 不…

docker版jxTMS使用指南:python服务之设备策略

本文讲解4.0版的jxTMS中python服务的设备策略,整个系列的文章请查看:docker版jxTMS使用指南:4.0版升级内容 docker版本的使用,请参考:docker版jxTMS使用指南 jxTMS实现的接口机对设备的数据采集与处理采取的是框架组…

Elastic Stack 和 Docker-Compose 入门

作者:Eddie Mitchell 随着 Elastic Stack 多年来的发展和功能集的增加,在本地开始或尝试概念验证 (POC) 的复杂性也越来越高。 虽然 Elastic Cloud 仍然是开始使用 Elastic 最快、最简单的方式,但对本地开发和测试的需求仍然非常丰富。 作为开…

【生成任务下推生成子工序生产计划,无法结单】

今天,车间反馈了一个问题,bpm结单报错。 原先定的流程是,生产任务单审批流程走完之后,下推到MES,生产子工序生产计划。 这个审批流最后要到制品,这个工单做完了,制品也包装好了,流程…

用于改进筛查的乳腺癌异常检测

介绍 乳腺癌是一种严重的疾病,影响着全世界数以百万计的妇女。即使医学领域有了进步,对乳腺癌进行识别和治疗是可能的,但发现它并在早期阶段治疗它仍然是不可能的。 通过使用异常检测技术,我们可以识别出乳腺癌中肉眼可能看不到的…

STM32——关于EXTI讲解及标准库应用(基础篇)

简介: STM32的中断包括EXTI外部中断、TIM定时器、ADC模数转换器、USART串口,SPI通信、I2C通信等一系列的外设。这篇主要来讲解关于EXTI外部中断的概念和应用。EXTI(External Interrupt)是一个非常重要的外部中断模块,…

chatgpt赋能python:Python多条图形绘制在一张图里的实现方法及应用

Python多条图形绘制在一张图里的实现方法及应用 作为一款优秀的编程语言,Python在数据可视化方面有着非常出色的表现。然而有时候我们需要在一张图里绘制多条不同的图形,这时候Python又有什么好的解决方案呢?本文将介绍多种方法实现Python在…

10个最流行的可生成图像嵌入向量的预训练AI模型

迁移学习的出现进一步加速了计算机视觉——图像分类用例的快速发展。 在大型图像数据集上训练计算机视觉神经网络模型需要大量的计算资源和时间。 幸运的是,通过使用预训练模型可以缩短时间和资源。 利用预训练模型的特征表示的技术称为迁移学习。 预训练通常使用高…

《MySQL(三):基础篇- 函数》

文章目录 3. 函数3.1 字符串函数3.2 数值函数3.3 日期函数3.4 流程函数 3. 函数 函数 是指一段可以直接被另一段程序调用的程序或代码。 也就意味着,这一段程序或代码在MySQL中 已经给我们提供了,我们要做的就是在合适的业务场景调用对应的函数完成对应…

Vue.js 中的响应式原理是什么?

Vue.js 中的响应式原理是什么? Vue.js 是一种流行的前端框架,它使用了一种称为“响应式”的技术来实现数据绑定。这意味着当数据发生变化时,Vue.js会自动更新相关的视图,而无需手动操作DOM。在本文中,我们将深入探讨V…

【SCI征稿】Elsevier旗下中科院2区TOP, 仅1周见刊, 6月11日截稿 (文末有好)~

一、【期刊简介】 中科院2区智能计算类SCI (TOP/6.11截稿) 【期刊概况】IF:8.0-9.0, JCR1区, 中科院2区; 【终审周期】走期刊部系统,3-5个月左右录用; 【检索情况】SCI&EI双检;正刊; 【数据库收录年份】2001年…

RHCE练习题目【更新至】

文章目录 第一题、安装和配置ansible第二题、创建和运行ansible临时命令第三题、使用剧本安装软件包第四题、使用RHEL系统脚色第一问、配置时间同步第二问、配置selinux 第五题、使用Ansible Galaxy安装角色第六题、创建和使用角色第七题、从Ansible Galaxy使用角色第八题、创建…

一文搞定国民N32G435高负载串口通信

副标题:USRAT无硬件双缓冲条件下的软件双缓冲 一、前言 在单片机中,USART的通信一般都是最常用也最先去接触的串口外设,在一般的小数据量应用中一般不需要考虑USART串口(以下简称为串口)的高负载能力,比如…

第六十五天学习记录:高等数学:函数与极限(宋浩板书)

C语言学习后,曾为先学C还是数据结构纠结了半天。在看数据结构前言的时候,发现学习数据结构之前还需要一定的数学基础。虽然涉及到的数学基础不多,但想到以前大学高数,现代不是60分万岁就是不到80分,好像就概率论稍微了…

【Python】Python系列教程-- Python3 循环语句(十七)

文章目录 前言while 循环无限循环while 循环使用 else 语句简单语句组for 语句for...elserange() 函数break 和 continue 语句及循环中的 else 子句pass 语句 前言 往期回顾: Python系列教程–Python3介绍(一)Python系列教程–Python3 环境…

Treap C++代码实现

一、全部代码 #include <iostream> #include <cstdlib> #include <time.h>using namespace std;//Treap结构 struct TreapNode {TreapNode *pLeft, *pRight;int value, fix; };//左旋 void TreapLeftRotate(TreapNode* &pCur){//首先&#xff0c;找到当…

平衡树原理讲解

平衡树——Treap 文章目录 平衡树——TreapBST定义性质操作插入insert(o, v)删除del(o, v)找前驱 / 后继get_prev(o)、get_next(o)查找最大 / 最小值get_min(o)、get_max(o)求元素排名get_rank(o)查找排名为 k k k的元素get_value_by_rank 平衡树左旋、右旋zag(o)、zig(o)左旋右…