VS 自动添加代码 | 使用snippet插入外部代码

2023-10-08 01:10

本文主要是介绍VS 自动添加代码 | 使用snippet插入外部代码,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

效果演示:
在这里插入图片描述
说明:输入 sh ,按下Tab键,即可快速生成 show()函数。

详细步骤如下:(下面使用VS 2019界面演示)


文章目录

      • 一、代码片段管理
      • 二、编写snippet文件
          • 唤醒词与变量
          • 代码部分
      • 三、添加snippet文件到工作目录
      • 四、其他代码片段示例代码
        • Visudal C++提供的snippet文件参考
        • 自定义的snippet文件参考
          • 注释代码
          • 使用std::copy() 实现的输出函数
        • 查看已添加的自动代码

一、代码片段管理

1.【工具】——》【代码片段管理器】
在这里插入图片描述
2.选择【Visual C++】
在这里插入图片描述
3.选择【My Code Snippets】,复制上面文档的位置。
在这里插入图片描述
4.资源管理器中打开改目录
在这里插入图片描述

二、编写snippet文件

这里只简单的说明一下如何编写一个snippet文件,我们可以参考 Visudal C++ 提供的Snippets 编写自己的snippet文件。

以下博主编写的Show()函数代码,仅供参考:

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"><CodeSnippet Format="1.0.0"><Header><Title>show</Title><Shortcut>sh</Shortcut><Description>show 循环的代码片段</Description><Author>Microsoft Corporation</Author><SnippetTypes><SnippetType>Expansion</SnippetType><SnippetType>SurroundsWith</SnippetType></SnippetTypes></Header><Snippet><Declarations><Literal><ID>vec</ID>			# 标签<Default>void</Default>	# 默认值<ToolTip>自动类型迭代容器元素</ToolTip> # 说明</Literal></Declarations><Code Language="cpp"><![CDATA[/* 注释:输出容器内部元素 */template<class _Ty>void Show(const _Ty& Container){for (const auto& it : Container){std::cout << it << " ";}std::cout << std::endl;}]]></Code></Snippet></CodeSnippet>
</CodeSnippets>
唤醒词与变量

在这里插入图片描述

代码部分

经测试,代码部分的内容会在编译器中输出关键字后按照原样展开。而如果有变量,可以使用 $name$的方式添加到代码中。
在这里插入图片描述
需要注意的是我们这里并没有用到变量,但这并不影响我们之前定义过变量。

三、添加snippet文件到工作目录

方法一:将文件直接拖到工作目录(如图所示)
在这里插入图片描述
方法二:在【代码片段管理器】中导入
在这里插入图片描述

四、其他代码片段示例代码

Visudal C++提供的snippet文件参考

在【代码片段管理器中】选择【Visudal C++】,记住目录位置
在这里插入图片描述
打开保存的目录,使用编辑器打开即可。
在这里插入图片描述

自定义的snippet文件参考
注释代码

函数(注释模板引用自:https://blog.csdn.net/ghevinn/article/details/44831841)

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"><CodeSnippet Format="1.0.0"><Header><Title>comment_func</Title><Shortcut>cf</Shortcut>			# 唤醒词 cf<Description>函数注释</Description><Author>Microsoft Corporation</Author><SnippetTypes><SnippetType>Expansion</SnippetType><SnippetType>SurroundsWith</SnippetType></SnippetTypes></Header><Snippet><Declarations><Literal><ID>func</ID>			<Default>functions</Default>	<ToolTip>函数名</ToolTip> </Literal></Declarations><Code Language="cpp"><![CDATA[/** *  func_name: $func$*  功能描述: $_$*  @param param1*  @param param2*  @param param3*   *  @return */ ]]></Code></Snippet></CodeSnippet>
</CodeSnippets>

效果展示:在这里插入图片描述
文件注释

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"><CodeSnippet Format="1.0.0"><Header><Title>file_comment</Title><Shortcut>cf</Shortcut>			# 唤醒词 cf<Description>文件注释</Description><Author>Microsoft Corporation</Author><SnippetTypes><SnippetType>Expansion</SnippetType><SnippetType>SurroundsWith</SnippetType></SnippetTypes></Header><Snippet><Declarations><Literal><ID>fileName</ID>			# 标签<Default>fileName</Default>	# 默认值<ToolTip>文件名称</ToolTip> # 说明</Literal></Declarations><Code Language="cpp"><![CDATA[/******************************************************************* *  Copyright(c) 2000-2013 Company Name *  All rights reserved. *   *  文件名称: $fileName$*  简要描述: *   *  创建日期: *  作者: *  说明: *   *  修改日期: *  作者: *  说明: ******************************************************************/  ]]></Code></Snippet></CodeSnippet>
</CodeSnippets>

效果展示:在这里插入图片描述

使用std::copy() 实现的输出函数
<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet"><CodeSnippet Format="1.0.0"><Header><Title>CShow</Title><Shortcut>csh</Shortcut>			# 唤醒词 csh<Description>使用std::copy 打印</Description><Author>Microsoft Corporation</Author><SnippetTypes><SnippetType>Expansion</SnippetType><SnippetType>SurroundsWith</SnippetType></SnippetTypes></Header><Snippet><Code Language="cpp"><![CDATA[/* 输出容器内元素的值: _Ty 容器类型 _emT 打印类型 */template<class _Ty,class _emT = int>void CShow(const _Ty& cont){std::copy(cont.cbegin(), cont.cend(), std::ostream_iterator<_emT>(std::cout, " "));std::cout << std::endl;}]]></Code></Snippet></CodeSnippet>
</CodeSnippets>

效果展示:在这里插入图片描述

查看已添加的自动代码

在代码片段管理器中可以看到在目录F:\.... 下的所有snippet文件,其中函数的说明,快捷方式等都标注在右侧。在这里插入图片描述
想更改这些信息也非常容易,只需修改对应文件上的对应标签内的内容即可。如下所示:

在这里插入图片描述

在这里插入图片描述

这篇关于VS 自动添加代码 | 使用snippet插入外部代码的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/161674

相关文章

详解Vue如何使用xlsx库导出Excel文件

《详解Vue如何使用xlsx库导出Excel文件》第三方库xlsx提供了强大的功能来处理Excel文件,它可以简化导出Excel文件这个过程,本文将为大家详细介绍一下它的具体使用,需要的小伙伴可以了解... 目录1. 安装依赖2. 创建vue组件3. 解释代码在Vue.js项目中导出Excel文件,使用第三

Linux alias的三种使用场景方式

《Linuxalias的三种使用场景方式》文章介绍了Linux中`alias`命令的三种使用场景:临时别名、用户级别别名和系统级别别名,临时别名仅在当前终端有效,用户级别别名在当前用户下所有终端有效... 目录linux alias三种使用场景一次性适用于当前用户全局生效,所有用户都可调用删除总结Linux

Python脚本实现自动删除C盘临时文件夹

《Python脚本实现自动删除C盘临时文件夹》在日常使用电脑的过程中,临时文件夹往往会积累大量的无用数据,占用宝贵的磁盘空间,下面我们就来看看Python如何通过脚本实现自动删除C盘临时文件夹吧... 目录一、准备工作二、python脚本编写三、脚本解析四、运行脚本五、案例演示六、注意事项七、总结在日常使用

java图像识别工具类(ImageRecognitionUtils)使用实例详解

《java图像识别工具类(ImageRecognitionUtils)使用实例详解》:本文主要介绍如何在Java中使用OpenCV进行图像识别,包括图像加载、预处理、分类、人脸检测和特征提取等步骤... 目录前言1. 图像识别的背景与作用2. 设计目标3. 项目依赖4. 设计与实现 ImageRecogni

python管理工具之conda安装部署及使用详解

《python管理工具之conda安装部署及使用详解》这篇文章详细介绍了如何安装和使用conda来管理Python环境,它涵盖了从安装部署、镜像源配置到具体的conda使用方法,包括创建、激活、安装包... 目录pytpshheraerUhon管理工具:conda部署+使用一、安装部署1、 下载2、 安装3

Mysql虚拟列的使用场景

《Mysql虚拟列的使用场景》MySQL虚拟列是一种在查询时动态生成的特殊列,它不占用存储空间,可以提高查询效率和数据处理便利性,本文给大家介绍Mysql虚拟列的相关知识,感兴趣的朋友一起看看吧... 目录1. 介绍mysql虚拟列1.1 定义和作用1.2 虚拟列与普通列的区别2. MySQL虚拟列的类型2

使用MongoDB进行数据存储的操作流程

《使用MongoDB进行数据存储的操作流程》在现代应用开发中,数据存储是一个至关重要的部分,随着数据量的增大和复杂性的增加,传统的关系型数据库有时难以应对高并发和大数据量的处理需求,MongoDB作为... 目录什么是MongoDB?MongoDB的优势使用MongoDB进行数据存储1. 安装MongoDB

关于@MapperScan和@ComponentScan的使用问题

《关于@MapperScan和@ComponentScan的使用问题》文章介绍了在使用`@MapperScan`和`@ComponentScan`时可能会遇到的包扫描冲突问题,并提供了解决方法,同时,... 目录@MapperScan和@ComponentScan的使用问题报错如下原因解决办法课外拓展总结@

mysql数据库分区的使用

《mysql数据库分区的使用》MySQL分区技术通过将大表分割成多个较小片段,提高查询性能、管理效率和数据存储效率,本文就来介绍一下mysql数据库分区的使用,感兴趣的可以了解一下... 目录【一】分区的基本概念【1】物理存储与逻辑分割【2】查询性能提升【3】数据管理与维护【4】扩展性与并行处理【二】分区的

使用Python实现在Word中添加或删除超链接

《使用Python实现在Word中添加或删除超链接》在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能,本文将为大家介绍一下Python如何实现在Word中添加或... 在Word文档中,超链接是一种将文本或图像连接到其他文档、网页或同一文档中不同部分的功能。通过添加超