是否可以在Visual Studio中插入相对于光标位置的多行代码片段?

时间:2009-01-28 16:45:28

标签: visual-studio code-snippets

在Visual Studio中使用包含多行的代码片段时,以下行将保留.snippet文件中设置的空格,而不是相对于原始光标位置定位代码。

使用foreach片段时,您将获得如下代码:

    foreach (var item in collection)
{

}

而不是:

    foreach (var item in collection)
    {

    }

有没有办法改变这种行为?是否有需要在.snippet文件中使用的关键字?

2 个答案:

答案 0 :(得分:3)

代码段文件的代码部分包含在保留空格的CDATA中。我能告诉你的最好的事情是进入文件并编辑它以满足您的需求。您使用该代码段自动格式化将修复缩进的代码后,您唯一的另一个选择是快速 Ctrl + K Ctrl + D

答案 1 :(得分:1)

编辑snippit文件:

  1. 以管理员身份打开一些文本编辑器,如记事本
  2. 打开要修复的代码段文件,例如foreach.snippet。 (位于C:\ Program Files(x86)\ Microsoft Visual Studio 10.0 \ VC#\ Snippets \ 1033 \ Visual C#在我的计算机上)
  3. 删除代码元素的前导标签。因此,请从以下位置更改Code ... xml元素:

            <Code Language="csharp"><![CDATA[foreach ($type$ $identifier$ in $collection$)
            {
                $selected$ $end$
            }]]>
            </Code>
    
  4. 为:

                <Code Language="csharp"><![CDATA[foreach ($type$ $identifier$ in $collection$)
    {
        $selected$ $end$
    }]]>
                </Code>