热门标签 | 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



推荐阅读
  • 本文档汇总了Python编程的基础与高级面试题目,涵盖语言特性、数据结构、算法以及Web开发等多个方面,旨在帮助开发者全面掌握Python核心知识。 ... [详细]
  • 在高并发需求的C++项目中,我们最初选择了JsonCpp进行JSON解析和序列化。然而,在处理大数据量时,JsonCpp频繁抛出异常,尤其是在多线程环境下问题更为突出。通过分析发现,旧版本的JsonCpp存在多线程安全性和性能瓶颈。经过评估,我们最终选择了RapidJSON作为替代方案,并实现了显著的性能提升。 ... [详细]
  • 本文详细介绍了如何在Kendo UI for jQuery的数据管理组件中,将行标题字段呈现为锚点(即可点击链接),帮助开发人员更高效地实现这一功能。通过具体的代码示例和解释,即使是新手也能轻松掌握。 ... [详细]
  • Python + Pytest 接口自动化测试中 Token 关联登录的实现方法
    本文将深入探讨 Python 和 Pytest 在接口自动化测试中如何实现 Token 关联登录,内容详尽、逻辑清晰,旨在帮助读者掌握这一关键技能。 ... [详细]
  • ElasticSearch 集群监控与优化
    本文详细介绍了如何有效地监控 ElasticSearch 集群,涵盖了关键性能指标、集群健康状况、统计信息以及内存和垃圾回收的监控方法。 ... [详细]
  • MongoDB的核心特性与架构解析
    本文深入探讨了MongoDB的核心特性,包括其强大的查询语言、灵活的文档模型以及高效的索引机制。此外,还详细介绍了MongoDB的体系结构,解释了其文档、集合和数据库的层次关系,并对比了MongoDB与传统关系型数据库(如MySQL)的逻辑结构。 ... [详细]
  • SpringMVC RestTemplate的几种请求调用(转)
    SpringMVCRestTemplate的几种请求调用(转),Go语言社区,Golang程序员人脉社 ... [详细]
  • 优化Jenkins首次启动速度
    本文详细描述了在启动Jenkins后遇到的长时间加载问题,并提供了一种通过修改更新中心配置文件来显著提升启动速度的有效解决方案。 ... [详细]
  • cJinja:C++编写的轻量级HTML模板引擎
    本文介绍了cJinja,这是一个用C++编写的轻量级HTML模板解析库。它利用ejson来处理模板中的数据替换(即上下文),其语法与Django Jinja非常相似,功能强大且易于学习。 ... [详细]
  • 俗话说得好,“工欲善其事,必先利其器”。这句话不仅强调了工具的重要性,也提醒我们在任何项目开始前,准备合适的工具至关重要。本文将介绍几款C语言编程中常用的工具,帮助初学者更好地选择适合自己学习和工作的编程环境。 ... [详细]
  • Win10 UWP 开发技巧:利用 XamlTreeDump 获取 XAML 元素树
    本文介绍如何在 Win10 UWP 开发中使用 XamlTreeDump 库来获取和转换 XAML 元素树为 JSON 字符串,这对于 UI 单元测试非常有用。 ... [详细]
  • 1、字符型常量字符型常量指单个字符,是用一对单引号及其所括起来的字符表示。例如:‘A’、‘a’、‘0’、’$‘等都是字符型常量。C语言的字符使用的就是 ... [详细]
  • NFS(Network File System)即网络文件系统,是一种分布式文件系统协议,主要用于Unix和类Unix系统之间的文件共享。本文详细介绍NFS的配置文件/etc/exports和相关服务配置,帮助读者理解如何在Linux环境中配置NFS客户端。 ... [详细]
  • 本文介绍了解决在Windows操作系统或SQL Server Management Studio (SSMS) 中遇到的“microsoft.ACE.oledb.12.0”提供程序未注册问题的方法,特别针对Access Database Engine组件的安装。 ... [详细]
  • 深入理解TCP/IP协议中的MTU与MSS及以太网数据帧
    本文详细探讨了TCP/IP协议中MTU(最大传输单元)和MSS(最大分段大小)的概念及其在以太网数据帧中的应用。通过分析这些关键参数的工作机制,帮助读者更好地理解网络通信中的数据包处理过程。 ... [详细]
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社区 版权所有