VS 2008 Отрывок кода - PullRequest
       9

VS 2008 Отрывок кода

5 голосов
/ 03 февраля 2010

В VS 2008 есть фрагменты кода XML, которые выглядят довольно круто :) Однако создается впечатление, что созданные нами фрагменты не имеют отступов. Например, если у нас есть следующий код:

{
   ...
   { 
   ...
       {
          InsertSnippet here.

Мы получаем что-то вроде:

{
   ...
   { 
   ...
       {
          FirstLineofSnippet
SecondLineOfSnippet
ThirdLineOfSnippet

Есть ли способ сделать так, чтобы все строки имели одинаковый отступ?

Ответы [ 5 ]

4 голосов
/ 13 июля 2011

Обычно это означает, что код, который вы вводите, семантически неверен - во время вставки, а не при заполнении значений фрагмента.

Чтобы предотвратить это, вы можете использовать значения по умолчанию в своем фрагменте, чтобы сделать правильные синтаксические операции. Например. объявить список аргументов для функции:

<Literal Editable="true">
    <ID>methodArguments</ID>
    <ToolTip>methodArguments</ToolTip>
    <Default>params object[] args</Default>
    <Function>
    </Function>
</Literal>

Элемент <Default> обеспечивает объявление. Поэтому использование этого во фрагменте, объявляющем функцию, приведет к следующему:

public void FunctionName(params object[] args) { }

И затем он позволяет заменить params object[] args на любые объявления аргументов, которые вам нужны.

0 голосов
/ 23 ноября 2010

Кажется, что Visual Studio выполняет автоформатирование вставленных строк.Мой фрагмент не был правильно отформатирован (то есть с отступом), ни вставкой фрагмента, ни ручным форматом (Ctrl-KF).Он содержал «делегат {...}», возможно, форматировщик не может справиться с этим.

0 голосов
/ 25 февраля 2010

Мой фрагмент тестового модуля , по-видимому, имеет отступ. Это может быть связано с тем, что код обернут в блок CDATA. VisualStudio также имеет тенденцию автоматически форматировать блок, как только он добавлен в код. Есть ли в вашем фрагменте столько открытых скобок, сколько закрывающих? Если они совпадают, и фрагмент вставлен в допустимое / компилируемое место, он должен автоматически отформатироваться.

0 голосов
/ 04 июня 2010

Попробуйте переключиться с Insert spaces на Keep tabs в Tools> Options> TextEditor> C#> Tabs, у меня это сработало.

0 голосов
/ 03 февраля 2010

вставьте первую строку без отступа, затем выберите блок и вкладку, пока не получите весь блок с нужным отступом.AFAIK то, что вы видите, является стандартным поведением, и это происходит потому, что место, из которого вы вставляете, не имеет отступа, как вы хотели.

...