Фрагменты кода для методов в Visual Studio

В Visual Studio я могу ввести, например,

для TAB TAB

и появляется фрагмент кода.

Есть ли встроенные фрагменты кода для частных, общедоступных и т. Д. Методов?


person Edward Tanguay    schedule 15.11.2008    source источник


Ответы (8)


ctor: конструктор по умолчанию

prop: свойство

propg: свойство только для чтения.

sim: static int main метод

svm: static void main метод

Есть хороший список здесь. А если вы хотите создать свой собственный, очень хорош Конструктор фрагментов.

Вот все фрагменты кода Visual C # для Visual Studio 2017 < / а>

person Cameron MacFarland    schedule 15.11.2008
comment
Вы вставляете его с помощью ключевого слова, например meth ‹Tab› ‹Tab›, перейдя в панель «Свойства» и установив параметр «Ярлык» (например, мет)? - person bambams; 19.09.2011
comment
Ссылка на список дает 404 - person Felix Martinez; 25.01.2013
comment
@FelixMM Странно, это перенаправлено для меня. В любом случае я обновил его на новое место. - person Cameron MacFarland; 26.01.2013
comment
@CameronMacFarland, это круто. пожалуйста, обновите его ссылкой 2017 года :) - person Anirudha Gupta; 12.04.2017
comment
Нет ли встроенного сниппета, который позволяет вам делать что-то вроде sim или svm и позволять вам переходить через табуляцию и изменять его? - person Samir; 23.06.2017
comment
Их можно обнаружить, нажав Ctrl + K, Ctrl + X (по крайней мере, с некоторыми версиями Visual Studio, включая Visual Studio 2012). Может, включите это в ответ? - person Peter Mortensen; 05.09.2020

Вы можете загрузить фрагменты метода как Visual Studio Расширение.

Он поддерживает следующее:

method (typical method)

vmethod (virtual method)

smethod (static method)

xmethod (extension method)
  1. В Visual Studio перейдите в меню Инструменты Расширения и обновления ...

  2. Обратите внимание на окно Расширения и обновления

  3. Введите «Фрагменты кода методов C #» в поле поиска (вверху справа).

person Scott Nimrod    schedule 23.04.2015
comment
Это единственный ответ, который действительно отвечает на вопрос - фрагменты кода для методов (из вопроса: ... фрагменты кода для частных, общедоступных и т. Д. < / i> методы ). Другие ответы - это просто общие ответы о фрагментах. - person Peter Mortensen; 25.07.2019
comment
Я пробовал поиск в Visual Studio 2012 (да, знаю), но расширения не нашел. Я выбрал Online перед тем, как ввести фрагменты кода методов C #. Я просмотрел первые 20 страниц по 25 обращений в каждой (конца не видно). Но я нашел ряд интересных элементов: Import Code Snippet, CodeHelperTools, NUnit VS Templates, StyleCop, < i> Преобразование языка (C # ‹-› VB.NET), Script # (перенос с C # на JavaScript), - person Peter Mortensen; 25.07.2019
comment
cont '- Refactor (браузер и декомпилятор сборки .NET), kiss! (генератор кода на основе шаблонов для C #, VB.NET и SQL), WPF Шаблон проекта MVVM, T4Awesome, SharpSetup (WiX, создание установщиков), Единицы измерения, FTP-библиотека .NET и Комментарий. - person Peter Mortensen; 25.07.2019

Если вы хотите увидеть список всех доступных сниппетов:

  • Нажмите Ctrl + K, а затем Ctrl + X
person ANewGuyInTown    schedule 14.03.2017
comment
Чтобы уточнить, это CTRL + K, а затем CTRL + X. Для получения дополнительной информации см. Как использовать фрагменты кода (C #) - person Samir; 23.06.2017
comment
@ Самир. Собственно оба работают. Однако обновлено до того, что говорится в документе Microsoft. - person ANewGuyInTown; 18.02.2019
comment
Верно. Это зависит от того, как вы это сформулируете. Чего не хватало, так это нажатия и удерживания CTRL. Но это тоже работает. - person Samir; 27.02.2019

Ниже приведены шаги, которые я использовал для создания настраиваемого фрагмента для Visual Studio 2010, но эти шаги подходят для Visual Studio 2008.

Создайте новый текстовый файл с именем method.snippet и вставьте следующее:

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippets  xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
    <CodeSnippet Format="1.0.0">
        <Header>
            <Title>method</Title>
            <Shortcut>method</Shortcut>
            <Description>Code snippet for method</Description>
            <Author>Kevin Hogg</Author>
            <SnippetTypes>
                <SnippetType>Expansion</SnippetType>
            </SnippetTypes>
        </Header>
        <Snippet>
            <Declarations>
                <Literal>
                    <ID>methodname</ID>
                    <ToolTip>Method name</ToolTip>
                    <Function>MethodName()</Function>
                    <Default>MethodNamePlaceholder</Default>
                </Literal>
            </Declarations>
            <Code Language="csharp"><![CDATA[public void $methodname$ ()
    {
        $end$
    }]]>
            </Code>
        </Snippet>
    </CodeSnippet>
</CodeSnippets>

Скопируйте файл в папку сниппетов в проводнике Windows:

  • Visual Studio 2010: C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC # \ Snippets \ 1033 \ Visual C #
  • Visual Studio 2008: C: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ VC # \ Snippets \ 1033 \ Visual C #

После сохранения файла фрагменты загружаются автоматически, поэтому теперь вы можете открыть Visual Studio и ввести:

method<tab><tab>

* где ‹tab› - это клавиша Tab на клавиатуре.

Теперь вы должны увидеть следующее, созданное с выделенным MethodNamePlaceholder, чтобы вы могли изменить имя.

public void MethodNamePlaceholder()
{

}
person Kevin Hogg    schedule 08.10.2013
comment
Обратите внимание, что я мог проверить это только в Visual Studio 2010. - person Kevin Hogg; 08.10.2013
comment
Он также работает по пути VS2013: C: \ Program Files (x86) \ Microsoft Visual Studio 12.0 \ VC # \ Snippets \ 1033 \ Visual C # - person zapoo; 04.08.2015
comment
Работает VS2015. Спасибо. Отличный DYI. Установите флажок, чтобы узнать что-то новое сегодня. - person Rourke; 22.09.2017

Некоторые из используемых мной фрагментов, также упомянутых в MSDN, следующие:

  1. '#if Создает директиву #if и директиву #endif.
  2. '#region Создает директиву #region и директиву #endregion.
  3. ~ Создает деструктор для содержащего класса.
  4. attribute Создает объявление для класса, производного от Attribute.
  5. checked Создает отмеченный блок.
  6. class Создает объявление класса.
  7. ctor Создает конструктор для содержащего класса.
  8. cw Создает вызов WriteLine.
  9. do Создает цикл do while.
  10. else Создает блок else.
  11. enum Создает объявление перечисления.
  12. equals Создает объявление метода, которое переопределяет метод Equals, определенный в классе Object.
  13. исключение Создает объявление для класса, производного от исключения (по умолчанию Exception).
  14. for Создает цикл for.
  15. foreach Создает цикл foreach.
  16. forr Создает цикл for, который уменьшает значение переменной цикла после каждой итерации.
  17. if Создает блок if.
  18. indexer Создает объявление индексатора.
  19. interface Создает объявление интерфейса.
  20. invoke Создает блок, который безопасно вызывает событие.
  21. iterator Создает итератор.
  22. iterindex Создает пару «именованных» итератора и индексатора, используя вложенный класс.
  23. lock Создает блокировку.
  24. mbox Создает вызов MessageBox.Show. Возможно, вам придется добавить ссылку на System.Windows.Forms.dll.
  25. пространство имен Создает объявление пространства имен.
  26. prop Создает автоматически реализуемое объявление свойства.
  27. propfull Создает объявление свойства с методами доступа get и set.
  28. propg Создает доступное только для чтения автоматически реализуемое свойство с частным методом доступа set.
  29. sim Создает статическое объявление основного метода int.
  30. struct Создает объявление структуры.
  31. svm Создает статическое объявление основного метода void.
  32. switch Создает блок переключения.
  33. try Создает блок try-catch.
  34. tryf Создает блок try-finally.
  35. unchecked Создает непроверенный блок.
  36. unsafe Создает небезопасную блокировку.
  37. using Создает директиву using.
  38. while Создает цикл while.
person UJS    schedule 22.09.2016
comment
Их можно обнаружить, нажав Ctrl + K, Ctrl + X (по крайней мере, с некоторыми версиями Visual Studio, включая Visual Studio 2012). Может, включите это в ответ? - person Peter Mortensen; 05.09.2020

Я сделал свой собственный фрагмент для метода. XML-код для него следующий, и вы можете добавить его в файл с именем "my_method.snippet" (или любой другой_вы_want.snippet) в C: \ Users \ YOUR_USERNAME \ Documents \ Visual Studio 2012 \ Code Snippets \ Visual C # \ My Фрагменты кода (ваш путь может быть другим, потому что я использую VS2012):

<CodeSnippet Format="1.0.0">
    <Header>
        <Title>method</Title>
        <Shortcut>method</Shortcut>
        <SnippetTypes>
            <SnippetType>Expansion</SnippetType>
        </SnippetTypes>
    </Header>
    <Snippet>
        <Declarations>
            <Literal>
                <ID>access_modifier</ID>
                <Default>private</Default>
            </Literal>
            <Literal>
                <ID>return_type</ID>
                <Default>void</Default>
            </Literal>
            <Literal>
                <ID>name</ID>
                <Default>New_method</Default>
            </Literal>
        </Declarations>
        <Code Language="csharp">
            <![CDATA[$access_modifier$ $return_type$ $name$ ()
    {
    $end$
    }]]>
        </Code>
    </Snippet>
</CodeSnippet>
person daniel1426    schedule 12.05.2013

Вы можете создавать таможенные сниппеты. Нравится:

http://www.mediafire.com/file/gz3tzjnydk5/meth.snippet

person EdgarT    schedule 26.03.2010
comment
Эта ссылка предназначена для страницы о формате XML-документа meth.snippet (.SNIPP). Это далеко не только о пользовательских сниппетах. Я предлагаю добавить пример и / или дополнительную информацию, чтобы сделать этот ответ более полезным. - person Peter Mortensen; 25.07.2019

Фрагмент кода для свойств:

prop TAB TAB

person Soraz    schedule 15.11.2008