代碼片段快捷輸入
在visual studio中輸入特殊字段的關鍵詞然後輕按兩下Tab可以輸入一段完整的代碼片段,能夠有效的提高開發效率
代碼片段使用說明
如輸入
if
,兩次Tab

會自動生成如下的代碼片段,并且光标自動定義到if的條件内,修改完成按Enter鍵自動定位到内部
常見的代碼片段
最常用的關鍵詞代碼片段:
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)