2017-01-25 3 views
1

В Sublime Text вы можете определить фрагменты нескольких строк с пробелами в файле snippet при написании обычного документа, но когда дело доходит до подобных многострочных фрагментов кода Visual Studio, насколько я знаю, он должен быть записью JSON, в которой вам нужно разбить каждую строку на элемент с двойными кавычками в списке или использовать явные символы ASCII linebreak (\ n) в одной строке.Лучший способ определения многострочных фрагментов кода в коде VS?

Интересно, существуют ли лучшие способы определения фрагментов кода, особенно когда они длинны.

ответ

0

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

Это не совсем верно, вы можете использовать одну строку с \n символов, например:

"For loop": { 
    "prefix": "for", 
    "body": [ 
     "for (int i = 0; i < $0; i++) {\n\n}" 
    ] 
} 

Конечно, для более длинных фрагментов, это еще не очень удобно (может быть, даже хуже). Я не уверен, что сейчас есть лучший способ.

+0

thx. Я забыл сказать, что предпочитаю не использовать ascii-строки в фрагментах. это не то, как один определяет фрагменты в большинстве редакторов. добавлю это к моему вопросу. – kakyo

1

Вы можете сделать это следующим образом:

"Create for loop":{ 
    "prefix": "mkfor", 
    "body":[ 
     "for(int i = 0; i < 3; i++)", 
     "{", 
     " //code goes here", 
     "}" 
    ], 
    "description": "Creates a for loop" 
    } 

или если вы установите Easy Snippet Maker расширение, вы можете создавать свои фрагменты, выделив текст.

+0

Спасибо. Этот фрагмент, который вы дали здесь, является точной проблемой в моем вопросе: я не хочу несколько строк с двумя кавычками с запятыми. Я дам это расширение попробовать. – kakyo

2

Я не могу найти хороший способ создания многострочных фрагментов. Вероятно, это одна из возможностей, которые я хотел бы улучшить. Как еще один ответ предложил, есть несколько расширений, чтобы помочь с созданием фрагмента (например, this и this). Тем не менее, они не избегают буквальных знаков доллара, и отступы не велики.

При просмотре ответов на вопросы я наткнулся на Pen by Denis Malinochkin (связанный с this issue). Тем не менее, он также не избежал знаков доллара должным образом, поэтому я разветвил его и добавил эту строку для обработки буквенных знаков доллара. Вот он: https://codepen.io/cbejensen/pen/WXLxaE

Надеюсь, что это поможет!

P.S. - Это линия, которую я добавил:

line = line.replace(new RegExp(/\$/, 'g'), '\\$'); 
+0

Спасибо! Это безумие, что нужно взломать эту работу. – kakyo

Смежные вопросы