Как редактировать литералы при вставке фрагмента в Visual Studio 2017 - PullRequest
1 голос
/ 30 сентября 2019

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

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
      <Title>Test</Title>
      <Author>RM</Author>
      <Description>New Transaction</Description>
      <HelpUrl>
      </HelpUrl>
      <Shortcut>test</Shortcut>
    </Header>
    <Snippet>
      <Declarations>
        <Literal Editable="true">
          <ID>test</ID>
          <ToolTip>tool tip</ToolTip>
          <Default>Test
          </Default>
          <Function></Function>
        </Literal>
      </Declarations>
      <Code Language="csharp" Delimiter="$"><![CDATA[$test$

$test$

$test$$end$]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>

ОБНОВЛЕНИЕ: я обновил скрипт, как было предложено, добавив значение по умолчанию и $ end $, однако это все еще не работает. Если я вставляю фрагмент (используя Ctrl-K, X), вставляется значение по умолчанию. Когда я изменяю одно из значений, меняется только одно, но не другие.

enter image description here

1 Ответ

2 голосов
/ 30 сентября 2019

Вам нужно установить

<Default></Default>

на что-то другое. Это необходимо для выделения фрагмента кода для редактирования. Также вы должны добавить

$ end $

в конце части кода.

Чтобы получить текст для обновления, просто введите новый тексти нажмите ввод, и все три переменные должны обновиться.

Попробуйте:

<?xml version="1.0" encoding="utf-8"?>
<CodeSnippets xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
  <CodeSnippet Format="1.0.0">
    <Header>
      <SnippetTypes>
        <SnippetType>Expansion</SnippetType>
      </SnippetTypes>
      <Title>Test</Title>
      <Author>RM</Author>
      <Description>New Transaction</Description>
      <HelpUrl>
      </HelpUrl>
      <Shortcut>test123</Shortcut>
    </Header>
    <Snippet>
      <Declarations>
        <Literal Editable="true">
          <ID>test</ID>
          <ToolTip>tool tip</ToolTip>
          <Default>test</Default>
          <Function></Function>
        </Literal>
      </Declarations>
      <Code Language="csharp" Delimiter="$"><![CDATA[$test$

$test$

$test$$end$]]></Code>
    </Snippet>
  </CodeSnippet>
</CodeSnippets>
...