热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VScode中自定义用户代码片段(Cusersnippet)自动生成C语言头文件排除重复包含...

2019独角兽企业重金招聘Python工程师标准环境WINDOWS2016VSCodev1.25.1C语言用户代码片段SNIPPET配置c.json内容{Placeyours

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

环境
  • WINDOWS 2016
  • VSCode v1.25.1
C语言用户代码片段SNIPPET配置c.json内容

 

{    // Place your snippets for c here. Each snippet is defined under a snippet name and has a prefix, body and // description. The prefix is what is used to trigger the snippet and the body will be expanded and inserted. Possible variables are:// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders. Placeholders with the // same ids are connected.// Example:"C header file": {        "prefix": "#ifndef","body": ["#ifndef __$1_h__","#define __$1_h__", "", "#ifdef __$1_h__GLOBAL", "\t#define __$1_h__EXTERN ", "#else", "\t#define __$1_h__EXTERN extern", "#endif", "", "$2", "#endif // __$1_h__", "", ],"description": "C header file define"    }
}
结果

输入#ifndef后按TAB

再输入 AUTO_GEN_SNIPPET , 再按TAB ,

输入  VOID hello(void)  就生成如下了:

#ifndef __AUTO_GEN_SNIPPET_h__
#define __AUTO_GEN_SNIPPET_h__#ifdef __AUTO_GEN_SNIPPET_h__GLOBAL#define __AUTO_GEN_SNIPPET_h__EXTERN
#else#define __AUTO_GEN_SNIPPET_h__EXTERN extern
#endifVOID HELLO(void);#endif // __AUTO_GEN_SNIPPET_h__

 

注意如果是头文件在VSCode中(右下角)要选择语言语言为C,不能为C++或其它,否则没有自动完成提示功能。

C.JSON修改保存后立即生效,不用重新启动VSC.

 

 

 自动生成一个更复杂的头

自动提取.h头文件名,并把文件名中的-或.改为_

snippet c.json

 

{"C head common": {"prefix": "#ifndef","body": ["/***********************************************************************"," * @file $TM_FILENAME"," ${1:${TM_FILENAME_BASE/(.*)/${1:/upcase}/i}}"," * @brief $2 header file"," * @history"," * Date Version Author description"," * ========== ======= ========= ======================================="," * $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE V1.0 ${3|Wukong.SUN,Bajie.ZHU,Wuji.SA,Sanzhang.TANG,Baoyu.JIA|} Create"," *"," * @Copyright (C) $CURRENT_YEAR .cdWFVCEL. all right reserved","***********************************************************************/","#ifndef __${1/[.-]/_/g}_h__","#define __${1/[.-]/_/g}_h__", "", "#ifdef __${1/[.-]/_/g}_h__GLOBAL", "\t#define __${1/[.-]/_/g}_h__EXTERN ", "#else", "\t#define __${1/[.-]/_/g}_h__EXTERN extern", "#endif", "", "$4", "#endif // __${1/[.-]/_/g}_h__", "", ],"description": "C header file common define"    },}

结果

/************************************************************************ @file auto-gen.header.hAUTO-GEN.HEADER* @brief header file* @history* Date Version Author description* ========== ======= ========= =======================================* 2018-08-05 V1.0 Wukong.SUN Create** @Copyright (C) 2018 .cdWFVCEL. all right reserved
***********************************************************************/
#ifndef __AUTO_GEN_HEADER_h__
#define __AUTO_GEN_HEADER_h__#ifdef __AUTO_GEN_HEADER_h__GLOBAL#define __AUTO_GEN_HEADER_h__EXTERN
#else#define __AUTO_GEN_HEADER_h__EXTERN extern
#endif#endif // __AUTO_GEN_HEADER_h__
配置参考

https://www.cnblogs.com/a14907/p/6180244.html : [VS Code]跟我一起在Visual Studio Code 添加自定义snippet(代码段),附详细配置


转:https://my.oschina.net/SamXIAO/blog/1922800



推荐阅读
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • Nginx使用(server参数配置)
    本文介绍了Nginx的使用,重点讲解了server参数配置,包括端口号、主机名、根目录等内容。同时,还介绍了Nginx的反向代理功能。 ... [详细]
  • 本文介绍了九度OnlineJudge中的1002题目“Grading”的解决方法。该题目要求设计一个公平的评分过程,将每个考题分配给3个独立的专家,如果他们的评分不一致,则需要请一位裁判做出最终决定。文章详细描述了评分规则,并给出了解决该问题的程序。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 闭包一直是Java社区中争论不断的话题,很多语言都支持闭包这个语言特性,闭包定义了一个依赖于外部环境的自由变量的函数,这个函数能够访问外部环境的变量。本文以JavaScript的一个闭包为例,介绍了闭包的定义和特性。 ... [详细]
  • 使用正则表达式爬取36Kr网站首页新闻的操作步骤和代码示例
    本文介绍了使用正则表达式来爬取36Kr网站首页所有新闻的操作步骤和代码示例。通过访问网站、查找关键词、编写代码等步骤,可以获取到网站首页的新闻数据。代码示例使用Python编写,并使用正则表达式来提取所需的数据。详细的操作步骤和代码示例可以参考本文内容。 ... [详细]
  • 本文讨论了在手机移动端如何使用HTML5和JavaScript实现视频上传并压缩视频质量,或者降低手机摄像头拍摄质量的问题。作者指出HTML5和JavaScript无法直接压缩视频,只能通过将视频传送到服务器端由后端进行压缩。对于控制相机拍摄质量,只有使用JAVA编写Android客户端才能实现压缩。此外,作者还解释了在交作业时使用zip格式压缩包导致CSS文件和图片音乐丢失的原因,并提供了解决方法。最后,作者还介绍了一个用于处理图片的类,可以实现图片剪裁处理和生成缩略图的功能。 ... [详细]
  • 本文介绍了RPC框架Thrift的安装环境变量配置与第一个实例,讲解了RPC的概念以及如何解决跨语言、c++客户端、web服务端、远程调用等需求。Thrift开发方便上手快,性能和稳定性也不错,适合初学者学习和使用。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
author-avatar
彭雅静政颖
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有