[Перевод] Как писать только хороший код

В мае на Build 2018 мы представили расширение Visual Studio IntelliCode. Оно помогает писать код быстрее, избегать ошибок и предлагает разработчикам подсказки, предугадывая их цели. Несколько дней назад вышло обновление, значительно направленное в сторону улучшения взаимодействия с C#. Подробнее под катом!

1eoq6mmoxfx30dihukhx4t5v4ce.jpeg

Кстати, расширение уже работает и с Python.

После объявления о выпуске Visual Studio IntelliCode на конференции Build 2018 мы рады представить обновленное расширение Visual Studio IntelliCode, поддерживающее стандарты оформления кода для C#. Оно поможет вам и вашим коллегам получить более читаемый и согласованный код. Если вы не знакомы с расширением Intellicode, то в него уже встроена технология IntelliSense с поддержкой ИИ, о которой говорится в первоначальном объявлении. Если расширение установлено, то, вероятно, оно уже обновилось автоматически. Если нет, то вы можете установить расширение прямо сейчас, перейдя по этой ссылке.

Ввод стандартов оформления кода и форматирования в базу


dbevxlkadnhqwvqzwp1tgbxwdrw.png

Если код согласован, то его удобнее обслуживать и читать. Недавнее исследование Microsoft Research в этой области показало, что 18 процентов комментариев с просьбами о помощи с проблемами кода были связаны с ошибками стандартов оформления.

Обновленное расширение IntelliCode позволяет по требованию генерировать файл .editorconfig, идеально соответствующий стандартам оформления, используемым в вашем коде. Больше не надо решать всем коллективом, каким стандартам следовать!

Создав этот файл один раз, вы сможете с его помощью поддерживать единообразие базы исходного кода для всех членов группы. Также можно быстро и просто устранять проблемы с форматированием, используя меню быстрых действий Quick Ctrl (Ctrl+ или Alt+Enter) или новую настраиваемую функцию Format Document (Ctrl+K, D) в Visual Studio 2017 версии 15.8 Preview 3 и выше.

Как использовать .editorconfig


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

v59nbcas9fyxvt0_ajzonpyan0u.png

Нарушения стиля по умолчанию имеют важность уровня «Message». Это показывает суффикс «suggestion» в каждой строке правила в файле .editorconfig. Вы можете настроить файл, если требуется другой уровень исполнения, например, «Warning» или «Error». Обратите внимание, что нарушения формата не отображаются в списке ошибок, но их можно легко устранить (см. наше руководство ниже).

Вы можете начать генерацию EditorConfig через обозреватель решений. Просто нажмите правой кнопкой мыши на папку с решением, проектом или подпапкой, к которой вы хотите применить стандарт, нажмите add («добавить»), а затем EditorConfig file (IntelliCode) (Файл EditorConfig (IntelliCode)). В случае с проектом вы также можете нажать add («добавить»), затем new item («новый элемент») и EditorConfig file (IntelliCode) (Файл EditorConfig (IntelliCode)).

Обратите внимание, что файлы EditorConfig применяются принудительно в иерархическом порядке ко всем файлам под ними. Например, если вам нужно применить набор стандартов ко всему решению, поместите .editorconfig в каталог решения. Если у вас есть подпапки или проекты с разными стандартами, создайте новый файл EditorConfig для этих подпапок/проектов, чтобы перезаписать стандарты более высокого уровня.

Как исправить код, чтобы он соответствовал новым стандартам


Существует несколько способов очистки кода для соответствия новым стандартам в зависимости от ваших целей.

  1. Использование меню быстрых действий Lightbulb (Ctrl+ или Alt+Enter)

    Если существует проблема стиля, то появится лампочка (а также список ошибок), чтобы вы могли автоматически исправить любые несоответствия. В меню Lightbulb можно выбрать область исправления: экземпляр, документ, проект или решение.

  2. Использование функции Format Document (Ctrl+K, D)

    Если возникают проблемы с форматом или стилем и вы используете Visual Studio 2017 15.8 Preview 3 и выше, то обратитесь к расширенной функции Format Document, чтобы дополнительно очистить код текущего документа. Она поможет исправить код в этом документе, и он будет соответствовать только что созданным стандартам, а вы сможете очищать файлы сразу по мере работы с ними, обеспечивая согласованность.

    Обратите внимание, что дополнительная возможность форматирования документа затрагивает только определенный набор проблем, который можно изменить в меню Tools > Options > Text Editor > C# > Code Style > Formatting > General > Format Document Settings (Experiment) (Инструменты > Параметры > Текстовый редактор > C# > Стиль кода > Форматирование > Общие > Настройки формата документа (экспериментальная)):


olvje1i7biwyezlzcmdxoi5iifk.png

И еще отметьте для себя, что настройки по умолчанию не исправляют некоторые стандарты стиля. Вы можете добавить их с помощью настроек инструментов (например, настройка «Применить скрытые/показываемые типы» запустит правила стиля, связанные с использованием переменных в коде).

Что нужно знать при работе с EditorConfig


Есть несколько известных проблем, которые следует учитывать при работе с EditorConfig:

  1. Необходимо закрывать и снова открывать файлы, чтобы отобразились примененные изменения стандартов в версии 15.8 Preview 2 и более ранних.

    В версиях Visual Studio 2017, вышедших ранее 15.8 Preview 3, следует закрывать и повторно открывать все открытые документы, чтобы отобразились изменения, произошедшие после создания стандартов в файле EditorConfig. Это исправлено в версии 15.8 Preview 3.

  2. При создании файла с помощью диалогового окна File-New Item (Файл-Новый элемент) к имени файла добавляется »1».

    Если вы используете для создания файла EditorConfig путь к диалоговому окну File-New Item в версиях Visual Studio, вышедших до 15.8 Preview 3, то должны вручную удалить лишний префикс »1» в имени файла EditorConfig. Это исправлено в версии 15.8 Preview 4.


Спасибо вам за проявленный интерес к IntelliCode. Мы будем рады получать ваши отзывы и совершенствовать IntelliCode по мере развития проекта. Используйте страницу предложений, чтобы высказать свое мнение. Если вы обнаружите какие-либо проблемы с расширением, используйте встроенную в Visual Studio функцию Report a Problem (Сообщить о проблеме), напишите в вашем отчете, что речь идет о IntelliCode. Это поможет нам собрать необходимую информацию для решения проблемы.

Внесите свой вклад


По мере того как мы расширяем возможности, чтобы охватить больше вариантов использования и языков программирования, мы будем предоставлять ограниченный предварительный доступ к IntelliCode.

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

© Habrahabr.ru