vscode
文章目录
- 变量引用
- Multi-selections(multi-cursor)
- Column (box) selection
- 在正则表达式替换中改变大小写
- tasks.json
- launch.json
vscode工作空间下有一个.vscode文件夹,该文件夹下放置了vscode的配置文件,主要有:
- settings.json : vscode的设置,配置IntelliSense
- task.json : 配置编译选项
- launch.json : 配置debugger
变量引用
预定义变量
${userHome} - 用户家目录
${workspaceFolder} - vscode打开的文件夹
${workspaceFolderBasename} - vscode打开的文件夹的名字,不包含任何/
${file} - 当前激活文件的绝对路径
${fileWorkspaceFolder} - 当前打开的文件的工作空间文件夹
${relativeFile} - 当前激活文件相对workspaceFolder的相对路径
${relativeFileDirname} - 当前打开的文件相对于workspaceFolder的相对路径
${fileBasename} - 当前激活文件的文件名,带后缀
${fileBasenameNoExtension} - 当前激活文件的文件名,不带后缀
${fileExtname} - 当前激活文件的后缀
${fileDirname} - 当前激活文件所在的文件夹路径,最近一层文件夹
${fileDirnameBasename} - 当前激活文件所在文件夹的名字
${cwd} - VS Code启动时任务运行器的当前工作目录
${lineNumber} - 当前激活文件光标所在的行号
${selectedText} - 在激活状态的文件中所选中的文字
${execPath} - vscode可执行程序的绝对路径
${defaultBuildTask} - the name of the default build task
${pathSeparator} - 文件路径中用来分割各部分的符号 / on macOS or linux, \ on Windows
${env:PATH} - 系统中的环境变量
可以通过${config:Name}引用vscode设置变量,例如:${config:editor.fontSize}
在tasks.json中不是所有的值都支持变量替换。具体来说,只有command、args和options支持变量替换。在inputs部分的输入变量将不会被解析,因为不支持输入变量嵌套。
检查变量运行时值的一个简单方法是创建一个VS Code任务,将变量值输出到控制台。例如,要查看${workspaceFolder}的解析值,您可以在tasks.json中创建并运行(Terminal > run Task)以下简单的echo任务
{"version": "2.0.0","tasks": [{"label": "echo","type": "shell","command": "echo ${workspaceFolder}"}]
}
Multi-selections(multi-cursor)
Alt + Click: 手动添加多光标
Shift + Alt + Down: 将光标插入下方
Shift + Alt + Up: 将光标插入上方
Ctrl + Shift + L: 自动化在每一个所选文本出添加一个光标
Column (box) selection
Shift + Alt+鼠标拖拽
在正则表达式替换中改变大小写
VS Code支持在搜索和替换时更改正则表达式匹配组的大小写,这是通过修饰符\u \U \l \L完成的,其中\u和\l将大写/小写单个字符,而\U和\L将大写/小写匹配组的其余部分。例如,\u\u\u$1将把匹配组的前三个字符大写,或者\l\U$1将把第一个字符小写,其余字符大写。匹配组由替换字符串中的$n引用,其中n是匹配组的顺序。

tasks.json
{"tasks": [{"type": "cppbuild","label": "C/C++: g++.exe build active file","command": "C:\\msys64\\ucrt64\\bin\\g++.exe","args": ["-fdiagnostics-color=always","-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe"],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault": true},"detail": "Task generated by Debugger."},{"label": "Run tests","type": "shell","command": "./scripts/test.sh","windows": {"command": ".\\scripts\\test.cmd"},"group": "test","presentation": {"reveal": "always","panel": "new"}}]
}],"version": "2.0.0"
}
label: 是你将会在任务列表中看到的任务名称type: 任务类型,对于自定义任务,可以是shell或process。如果是shell,command会被解释为shell命令 (for example: bash, cmd, or PowerShell)。如果是process,command会被解释为要执行的程序。command: 执行的实际命令,在本例中是g++。args数组指定将传递给command的参数。- 操作系统特定属性
windows: 在Windows操作系统上替换全局作用域定义的默认属性。linux: 在Linux操作系统上替换全局作用域定义的默认属性。osx: 在MacOs操作系统上替换全局作用域定义的默认属性。
group: 定义任务属于哪个组。在本例中,任务属于build组,在命令面板中运行Run Build Task会执行属于build组的任务。类似的还有test测试组。detail是任务列表中任务的描述。强烈建议重命名此值,以将其与类似的任务区分开来presentation: 定义如何在用户界面中处理任务输出。在本例中,显示输出的集成终端总是显示出来,并且在每次运行任务时都会创建一个新终端options: Override the defaults for cwd (current working directory), env (environment variables), or shell (default shell). Options can be set per task but also globally or per platform. Environment variables configured here can only be referenced from within your task script or process and will not be resolved if they are part of your args, command, or other task attributes.runOptions: 定义任务何时以及如何运行
play按钮将从tasks.json中读取数据,来获取如何构建和运行程序的信息。您可以在tasks.json中定义多个构建任务。标记为默认值的任务将由play按钮使用。如果需要更改默认编译器,可以在命令面板中运行Tasks: Configure default Build Task或者修改tasks.son文件,并通过替换此段来删除默认值:
"group": {"kind": "build","isDefault": true},
替换为
"group": "build",
第一个任务告诉g++获取活动文件${file},编译它,并在当前目录${fileDirname}中创建一个可执行文件,该文件的名称与活动文件相同,但扩展名为.exe (${fileBasenameNoExtension}.exe)。
launch.json
{"configurations": [{"name": "C/C++: g++.exe build and debug active file","type": "cppdbg","request": "launch","program": "${fileDirname}\\${fileBasenameNoExtension}.exe","args": [],"stopAtEntry": false,"cwd": "${fileDirname}","environment": [],"externalConsole": false,"MIMode": "gdb","miDebuggerPath": "C:\\msys64\\ucrt64\\bin\\gdb.exe","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": "C/C++: g++.exe build active file"}],"version": "2.0.0"
}
program指定要调试的程序
args属性是一个在运行时传递给程序的参数数组
stopAtEntry等于true会在main函数暂停
相关文章:
vscode
文章目录 变量引用Multi-selections(multi-cursor)Column (box) selection在正则表达式替换中改变大小写tasks.jsonlaunch.json vscode工作空间下有一个.vscode文件夹,该文件夹下放置了vscode的配置文件,主要有: settings.json : vscode的设置…...
Jrebel 在 Idea 2023.3中无法以 debug 的模式启动问题
Jrebel 在 Idea 2023.3中无法以 debug 的模式启动问题 Idea 在升级了2023.3以后,Jrebel 无法以 debug 的模式启动,找了半天,最后在插件主页的评论区找到了解决方案 特此记录一下...
【C++】模版初阶(初识模版)
目录 一、引言 二、函数模版 (一)函数模版的原理 (二)函数模版的实例化 1.隐式实例化 2.显式实例化 (三)模板参数的匹配原则 三、类模版 类模版的实例化 一、引言 我们在练习题目的时候总会遇到需…...
智能优化算法应用:基于差分进化算法3D无线传感器网络(WSN)覆盖优化 - 附代码
智能优化算法应用:基于差分进化算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用:基于差分进化算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.差分进化算法4.实验参数设定5.算法结果6.…...
10 种隐藏元素的 CSS 技术
10 种隐藏元素的 CSS 技术 在 Web 开发中,在许多情况下我们可能希望操纵网站上某些元素的可见性。本文将考虑各种用例,探讨使用 CSS 隐藏元素的十种不同方法。 隐藏元素的具体行为可能会根据我们的需要而有所不同。我们可能需要为隐藏元素保留空间的方…...
SQL Server数据库使用T-SQL语句简单填充
文章目录 操作步骤:1.新建数据库起名RGB2.新建表起名rgb3.添加三个列名4.点击新建查询5.填入以下T-SQL语句,点击执行(F5)6.刷新之后,查看数据 操作环境: win10 Microsoft SQL Server Management Studio 20…...
逻辑回归代价函数
逻辑回归的代价函数通常使用交叉熵损失来定义。这种损失函数非常适合于二元分类问题。 本篇来推导一下逻辑回归的代价函数。 首先,我们在之前了解了逻辑回归的定义:逻辑回归模型是一种用于二元分类的模型,其预测值是一个介于0和1之间的概率…...
芯知识 | WT2003Hx系列高品质语音芯片MP3音频解码IC的特征与应用优势
在嵌入式语音领域,唯创知音WT2003Hx系列高品质语音芯片以其卓越的音频解码性能脱颖而出。本文将深入研究该系列芯片的特色与应用优势,重点关注其支持wav、Mp3格式音频解码、高品质播放等方面。 特色一:支持wav、Mp3格式音频解码 1.多格式兼…...
node.js 启一个前端代理服务
文章目录 前言一、分析技术二、操作步骤2.1、下载依赖2.2、创建一个 serve.js 文件2.3、js 文件中写入以下代码 三、运行: node serve四、结果展示五、总结六、感谢 前言 有时候我们需要做一些基础的页面时,在研发过程中需要代理调用接口避免浏览器跨域…...
弹性搜索引擎Elasticsearch:本地部署与远程访问指南
🌈个人主页:聆风吟 🔥系列专栏:网络奇遇记、Cpolar杂谈 🔖少年有梦不应止于心动,更要付诸行动。 文章目录 📋前言系统环境1. Windows 安装Elasticsearch2. 本地访问Elasticsearch3. Windows 安装…...
微信小程序生成二维码海报并分享
背景:点击图标,生成海报后,点击保存相册,可以保存 生成海报:插件wxa-plugin-canvas,此处使用页面异步生成组件方式,官网地址:wxa-plugin-canvas - npm 二维码:调用后端…...
Windows安装Tesseract OCR与Python中使用pytesseract进行文字识别
文章目录 前言一、下载并安装Tesseract OCR二、配置环境变量三、Python中安装使用pytesseract总结 前言 Tesseract OCR是一个开源OCR(Optical Character Recognition)引擎,用于从图像中提取文本。Pytesseract是Tesseract OCR的Python封装&am…...
【答案】2023年国赛信息安全管理与评估第三阶段夺旗挑战CTF(网络安全渗透)
【答案】2023年国赛信息安全管理与评估第三阶段夺旗挑战CTF(网络安全渗透) 全国职业院校技能大赛高职组信息安全管理与评估 (赛项) 评分标准 第三阶段 夺旗挑战CTF(网络安全渗透) *竞赛项目赛题* 本文…...
springboot 集成 redis luttuce redisson ,单机 集群模式(根据不同环境读取不同环境的配置)
luttuce 和redisson配置过程中实际上是独立的,他们两个可以同时集成,但是没有直接相关关系,配置相对独立。 所以分为Lettuce 和 Redisson 两套配置 父pom <!-- Spring Data Redis --><dependency><groupId>org.springframe…...
PPT插件-好用的插件-PPT 素材该怎么积累-大珩助手
PPT 素材该怎么积累? 使用大珩助手中的素材库功能,将Word中的,或系统中的文本文件、图片、其他word文档、pdf,所有见到的好素材,一键收纳。 步骤:选中文件,按住鼠标左键拖到素材库界面中&…...
qt 正则表达式简单介绍
正则表达式即一个文本匹配字符串的一种模式,Qt中使用QRegExp类进行模式匹配.主要应用:字符串验证,搜索,替换,分割..... 正则表达式中字符及字符集 c 匹配字符本身,如a匹配a \c 跟在\后面的字符匹配字符本身,但本表中下面指定的这些字符除外。 \a 匹…...
Redis设计与实现之跳跃表
目录 一、跳跃表 1、跳跃表的实现 2、跳跃表的应用 3、跳跃表的时间复杂度是什么? 二、跳跃表有哪些应用场景? 三、跳跃表和其他数据结构(如数组、链表等)相比有什么优点和缺点? 四、Redis的跳跃表支持并发操作吗…...
[每周一更]-(第27期):HTTP压测工具之wrk
[补充完善往期内容] wrk是一款简单的HTTP压测工具,托管在Github上,https://github.com/wg/wrkwrk 的一个很好的特性就是能用很少的线程压出很大的并发量. 原因是它使用了一些操作系统特定的高性能 io 机制, 比如 select, epoll, kqueue 等. 其实它是复用了 redis 的 ae 异步事…...
【FunASR】Paraformer语音识别-中文-通用-16k-离线-large-onnx
模型亮点 模型文件: damo/speech_paraformer-large-vad-punc_asr_nat-zh-cn-16k-common-vocab8404-pytorchParaformer-large长音频模型集成VAD、ASR、标点与时间戳功能,可直接对时长为数小时音频进行识别,并输出带标点文字与时间戳: ASR模型…...
C语言中的柔性数组
uint8_t data[0];代码的含义老虎开始对这个数组不太了解,查阅后得知这是个柔性数组。 C语言中的柔性数组(Flexible Array Member)是一种特殊的数组,它被定义在结构体的最后一个元素中,其大小未知,也就是所…...
HTML 语义化
目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案: 语义化标签: <header>:页头<nav>:导航<main>:主要内容<article>&#x…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...
利用ngx_stream_return_module构建简易 TCP/UDP 响应网关
一、模块概述 ngx_stream_return_module 提供了一个极简的指令: return <value>;在收到客户端连接后,立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量(如 $time_iso8601、$remote_addr 等)&a…...
简易版抽奖活动的设计技术方案
1.前言 本技术方案旨在设计一套完整且可靠的抽奖活动逻辑,确保抽奖活动能够公平、公正、公开地进行,同时满足高并发访问、数据安全存储与高效处理等需求,为用户提供流畅的抽奖体验,助力业务顺利开展。本方案将涵盖抽奖活动的整体架构设计、核心流程逻辑、关键功能实现以及…...
UDP(Echoserver)
网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
OPenCV CUDA模块图像处理-----对图像执行 均值漂移滤波(Mean Shift Filtering)函数meanShiftFiltering()
操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在 GPU 上对图像执行 均值漂移滤波(Mean Shift Filtering),用于图像分割或平滑处理。 该函数将输入图像中的…...
