代码片段快捷输入
在visual studio中输入特殊字段的关键词然后双击Tab可以输入一段完整的代码片段,能够有效的提高开发效率
代码片段使用说明
如输入
if
,两次Tab

会自动生成如下的代码片段,并且光标自动定义到if的条件内,修改完成按回车键自动定位到内部
常见的代码片段
最常用的关键词代码片段:
if
、
for
、
while
、
switch
等等
还有一些代码片段
快捷输入 | 内容说明 | 代码片段 |
---|---|---|
prop | 属性 | |
switch | switch | |
for | for循环 | |
foreach | foreach循环 | |
ctor | 构造函数 | |
try | try…catch…捕获异常的代码片段 | |
propa | 附加属性 | |
propdp | 依赖属性 | |
如何查看有哪些代码片段
(vs2022示例)
方法一:
选一空白行,按
art+→
,按art,然后按方向键右键。会出现代码补全提示,选择下方那个正方形的选项“片段”,可以看到所有的快捷输入
方法二:
在上方菜单栏选择“工具”→“代码片段管理器”
打开代码片段管理器
语言选择csharp,下方选Visual C#,下面都是所有C#的快捷输入的代码片段
自定义代码片段
代码片段文件存放位置和内容说明
在代码片段管理器中找到代码片段存放路径
随便找一个文件复制一份,比如for代码片段for.snippet文件,在vs2022中打开
<CodeSnippet Format="1.0.0">
<Header>
<Title>for</Title>
<Shortcut>for</Shortcut>
<Description>for 循环的代码片段</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>index</ID>
<Default>i</Default>
<ToolTip>索引</ToolTip>
</Literal>
<Literal>
<ID>max</ID>
<Default>length</Default>
<ToolTip>最大长度</ToolTip>
</Literal>
</Declarations>
<Code Language="csharp"><![CDATA[for (int $index$ = 0; $index$ < $max$; $index$++)
{
$selected$ $end$
}]]>
</Code>
</Snippet>
</CodeSnippet>
<Header>
中主要就是填一些信息,在使用的时候显示
<Shortcut>
中是定义快捷输入字段的
<Snippet>
定义代码片段相关的内容
<Declarations>
内部是定义模板参数
<Literal>
<ID>index</ID> //参数名称在代码片段中用于当成可替换的变量
<Default>i</Default> //参数默认值
<ToolTip>索引</ToolTip> //参数提示
</Literal>
<Code>
中间是代码片段
在
<![CDATA[
和
]]>
之间是显示的代码
<Code Language="csharp"><![CDATA[for (int $index$ = 0; $index$ < $max$; $index$++)
{
$selected$ $end$
}]]>
</Code>
编辑代码片段文件(*.snippet)
示例:实现一个mvvm中常用的Command属性,代码如下
public ICommand MyCommand
{
get => new RelayCommand<object>(obj =>
{
});
}
修改一个cmd.snippet文件,改成如下
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<CodeSnippet Format="1.0.0">
<Header>
<Title>command</Title>
<Shortcut>cmd</Shortcut>
<Description>MVVM 命令command的代码片段</Description>
<Author>Microsoft Corporation</Author>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
<SnippetType>SurroundsWith</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Declarations>
<Literal>
<ID>command</ID>
<Default>My</Default>
<ToolTip>命令</ToolTip>
</Literal>
</Declarations>
<Code Language="csharp">
<![CDATA[
public ICommand $command$Cmd
{
get => new RelayCommand<object>(obj =>
{
$selected$ $end$
});
}]]>
</Code>
</Snippet>
</CodeSnippet>
</CodeSnippets>
在代码片段中导入文件
导入,找到文件然后完成导入
使用
输入cmd就能出现cmd片段提示,双击tab之后完整输入片段
如果代码片段文件还在系统默认文件夹中的话,会自动被添加进去,手动添加会重复,建议自己创建一个文件夹存放自定义的代码片段文件(*.snippet)