Що таке Visual Studio.NET snippets? Частина 1, Різне, Програмування, статті

Я вирішив розбити статтю на дві частини: вступну частину і частину реалізації. Основна причина в розмірі тексту, який включає форматований текст прикладів. З меншими обсягами тексту працювати легше, та й читати такий текст зручніше. Хто знайомий з сниппета може відразу переходити до другої частини статті, де розповідається як зробити свій сніппет і використовувати його в студії.

Що таке snippet “и в Visual Studio.NET? Як показало опитування, більше третини голосували не знають що це. Цілком можливо, втім, що вони ніколи не працювали в цьому середовищі і ніколи не будуть цього робити. Ця стаття для тих двадцяти відсотків, хто зацікавився і для всіх інших, хто хоче дізнатися, що таке snippet, як його створити і використовувати.
Насправді все просто: snippet – це механізм, що дозволяє швидко додати в код якийсь шаблонний текст, наприклад визначення властивості, виділення регіону, визначення класу. Але на відміну від примітивного шорткати, який би просто встромляв текстову заготовку snippet дозволяє визначати код зручніше. Snippet має можливість визначити однотипні поля в тексті, які заповняться вказаним значенням по завершення вставки snippet “а (далі” сниппета “). Наведу приклад:



    [global::System.Serializable]
    public class MyException : Exception
    {
      public MyException() { }
      public MyException(string message) : base(message) { }
      public MyException(string message, Exception inner) : base(message, inner) { }
      protected MyException(
       System.Runtime.Serialization.SerializationInfo info,
       System.Runtime.Serialization.StreamingContext context)
        : base(info, context) { }
    }

Тут наведено приклад стандартного snippet “a” exception “, який додає в код шаблон для визначення класу користувальницької виключення. На прикладі виділені зеленим кольором області редагованого тексту, перехід між ними відбувається після натискання tab. При зміні кожної з них, зміняться відповідні значення тексту в залежних місцях. Наприклад, назви ми клас NewException і всі конструктори моментально перейменують. Крім того, в деяких випадках сніппет автоматично додає в код логіку підходить за змістом. Наприклад, сніппет для switch і при вказівці в поле введення примірника типу enum автоматично сформує case для кожного елемента enum і додасть default:


public enum USER_TYPE { UNKNOWN = 0, REGISTERED, NCF_CLERK, CLERK };

      switch (p_uType)
      {
        case CommonUtil.USER_TYPE.UNKNOWN:
          break;
        case CommonUtil.USER_TYPE.REGISTERED:
          break;
        case CommonUtil.USER_TYPE.NCF_CLERK:
          break;
        case CommonUtil.USER_TYPE.CLERK:
          break;
        default:
          break;
      }

Як працювати з сниппета? Для цього є два шляхи: набрати відоме ім’я сниппета і натиснути tab або ж натиснути шорткати ctrl + k + x для виведення списку всіх зареєстрованих фрагментів. Перший варіант зручніше: можна набрати, наприклад “prop”, натиснути tab і миттєво отримати шаблонне визначення властивості класу.
Цілком природно, що такий механізм надзвичайно корисний. Він економить час, дозволяючи визначати заздалегідь відформатований код з можливістю зручної кастомізації. Можливо, це ніяк не вплине на роботу вашої програми, але додасть вам деяку порцію задоволення від процесу кодування. Ще більше користі можна отримати роблячи свої сніппети. Про це в другій частині статті.

PS: “в статті немає помилок!” – На жаль стверджувати цього неможливо, але я буду радий, якщо ви звернете мою увагу на знайдену вами помилку.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*