none
Snippets RRS feed

  • Вопрос

  • Читаю эту страничку MSDN. Неприятно удивил тот факт, что блок References можно использовать только при написании кода на VB. Интересует вопрос: планируется ли устранение этого досадного ограничения в ближайших заплатках для MS VS 2010?

    По указанной ссылке имеется разметка:

    <CodeSnippets
      xmlns="http://schemas.microsoft.com/VisualStudio/2008/CodeSnippet">
      <CodeSnippet Format="1.0.0">
        <Header>
          <Title>
            My Snippet
          </Title>
        </Header>
        <Snippet>
          <References>
            <Reference>
              <Assembly>System.Windows.Forms.dll</Assembly>
            </Reference>
          </References>
          <Code Language="VB">
            <![CDATA[MessageBox.Show("Hello World")]]>
          </Code>
        </Snippet>
      </CodeSnippet>
    </CodeSnippets>
    

    Сохранил её в snippet-файле, добавил в меню Сервис->Диспетчер фрагментов кода путь к каталогу, содержащему данный сниппет (указав в качестве нужного языка - VB).

    Затем в исходном VB-коде пытаюсь вставить этот сниппет:

     http://hotimg23.fotki.com/p/a/80_72/234_174/1.jpg

    Однако после того, как я выбираю сниппет, по факту ничего не вставляется. Почему? Я перегружал MS VS 2010 - не помогло.

    Попутно такой вопрос: добавить с помощью сниппетов нужный Reference - это хорошо, а using для нужного пространства имён будет автоматически создан (спрашиваю потому, что как показано выше - мне не удалось заюзать пример тестового сниппета из MSDN)? Если не будет, то можно ли его создать с помощью сниппетов? Если "да", то как?

    Спасибо.

    3 января 2011 г. 15:26

Ответы

  • 1) Для поддержки блока reference в сниппетах в c# голосуйте за предложение на connect-е - Need element to be supported in C# snippets

    2) У вас указана неверная схема в сниппете, нужно xmlns=http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet

    3) Using (в vb.net - imports) автоматически не создастся, для того, чтобы он создавался необходимо добавить в сниппет секцию Imports

    Вот рабочий пример:

    <CodeSnippets
      xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
      <CodeSnippet Format="1.0.0">
        <Header>
          <Title>
            My Snippet
          </Title>
        </Header>
        <Snippet>
          <Imports>
            <Import>
              <Namespace>System.Windows.Forms</Namespace>
            </Import>
          </Imports>
          <References>
            <Reference>
              <Assembly>System.Windows.Forms.dll</Assembly>
            </Reference>
          </References>
          <Code Language="VB">
            <![CDATA[MessageBox.Show("Hello World")]]>
          </Code>
        </Snippet>
      </CodeSnippet>
    </CodeSnippets>
    

     


    Для связи [mail]
    • Помечено в качестве ответа I.Vorontsov 17 января 2011 г. 8:07
    12 января 2011 г. 0:05