В мае на Build 2018 мы представили расширение Visual Studio IntelliCode. Оно помогает писать код быстрее, избегать ошибок и предлагает разработчикам подсказки, предугадывая их цели. Несколько дней назад вышло обновление, значительно направленное в сторону улучшения взаимодействия с C#. Подробнее под катом!
Кстати, расширение уже работает и с Python.
После объявления о выпуске Visual Studio IntelliCode на конференции Build 2018 мы рады представить обновленное расширение Visual Studio IntelliCode, поддерживающее стандарты оформления кода для C#. Оно поможет вам и вашим коллегам получить более читаемый и согласованный код. Если вы не знакомы с расширением Intellicode, то в него уже встроена технология IntelliSense с поддержкой ИИ, о которой говорится в первоначальном объявлении. Если расширение установлено, то, вероятно, оно уже обновилось автоматически. Если нет, то вы можете установить расширение прямо сейчас, перейдя по этой ссылке.
Если код согласован, то его удобнее обслуживать и читать. Недавнее исследование Microsoft Research в этой области показало, что 18 процентов комментариев с просьбами о помощи с проблемами кода были связаны с ошибками стандартов оформления.
Обновленное расширение IntelliCode позволяет по требованию генерировать файл .editorconfig, идеально соответствующий стандартам оформления, используемым в вашем коде. Больше не надо решать всем коллективом, каким стандартам следовать!
Создав этот файл один раз, вы сможете с его помощью поддерживать единообразие базы исходного кода для всех членов группы. Также можно быстро и просто устранять проблемы с форматированием, используя меню быстрых действий Quick Ctrl (Ctrl+ или Alt+Enter) или новую настраиваемую функцию Format Document (Ctrl+K, D) в Visual Studio 2017 версии 15.8 Preview 3 и выше.
IntelliCode создает файл .editorconfig, сканируя файлы кода ниже выбранной вами точки, чтобы создать наиболее полно соответствующий набор стандартов. Когда он будет создан, вы увидите, что в списке ошибок появятся сообщения о нарушениях стандартов стиля кода; пример показан ниже:
Нарушения стиля по умолчанию имеют важность уровня «Message». Это показывает суффикс «suggestion» в каждой строке правила в файле .editorconfig. Вы можете настроить файл, если требуется другой уровень исполнения, например, «Warning» или «Error». Обратите внимание, что нарушения формата не отображаются в списке ошибок, но их можно легко устранить (см. наше руководство ниже).
Вы можете начать генерацию EditorConfig через обозреватель решений. Просто нажмите правой кнопкой мыши на папку с решением, проектом или подпапкой, к которой вы хотите применить стандарт, нажмите add («добавить»), а затем EditorConfig file (IntelliCode) (Файл EditorConfig (IntelliCode)). В случае с проектом вы также можете нажать add («добавить»), затем new item («новый элемент») и EditorConfig file (IntelliCode) (Файл EditorConfig (IntelliCode)).
Обратите внимание, что файлы EditorConfig применяются принудительно в иерархическом порядке ко всем файлам под ними. Например, если вам нужно применить набор стандартов ко всему решению, поместите .editorconfig в каталог решения. Если у вас есть подпапки или проекты с разными стандартами, создайте новый файл EditorConfig для этих подпапок/проектов, чтобы перезаписать стандарты более высокого уровня.
Существует несколько способов очистки кода для соответствия новым стандартам в зависимости от ваших целей.
И еще отметьте для себя, что настройки по умолчанию не исправляют некоторые стандарты стиля. Вы можете добавить их с помощью настроек инструментов (например, настройка «Применить скрытые/показываемые типы» запустит правила стиля, связанные с использованием переменных в коде).
Есть несколько известных проблем, которые следует учитывать при работе с EditorConfig:
Спасибо вам за проявленный интерес к IntelliCode. Мы будем рады получать ваши отзывы и совершенствовать IntelliCode по мере развития проекта. Используйте страницу предложений, чтобы высказать свое мнение. Если вы обнаружите какие-либо проблемы с расширением, используйте встроенную в Visual Studio функцию Report a Problem (Сообщить о проблеме), напишите в вашем отчете, что речь идет о IntelliCode. Это поможет нам собрать необходимую информацию для решения проблемы.
По мере того как мы расширяем возможности, чтобы охватить больше вариантов использования и языков программирования, мы будем предоставлять ограниченный предварительный доступ к IntelliCode.
Зарегистрируйтесь для получения доступа к ограниченной пробной версии, чтобы стать участником теста и узнать об изменениях первыми.
Кстати, расширение уже работает и с Python.
После объявления о выпуске Visual Studio IntelliCode на конференции Build 2018 мы рады представить обновленное расширение Visual Studio IntelliCode, поддерживающее стандарты оформления кода для C#. Оно поможет вам и вашим коллегам получить более читаемый и согласованный код. Если вы не знакомы с расширением Intellicode, то в него уже встроена технология IntelliSense с поддержкой ИИ, о которой говорится в первоначальном объявлении. Если расширение установлено, то, вероятно, оно уже обновилось автоматически. Если нет, то вы можете установить расширение прямо сейчас, перейдя по этой ссылке.
Ввод стандартов оформления кода и форматирования в базу
Если код согласован, то его удобнее обслуживать и читать. Недавнее исследование 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, сканируя файлы кода ниже выбранной вами точки, чтобы создать наиболее полно соответствующий набор стандартов. Когда он будет создан, вы увидите, что в списке ошибок появятся сообщения о нарушениях стандартов стиля кода; пример показан ниже:
Нарушения стиля по умолчанию имеют важность уровня «Message». Это показывает суффикс «suggestion» в каждой строке правила в файле .editorconfig. Вы можете настроить файл, если требуется другой уровень исполнения, например, «Warning» или «Error». Обратите внимание, что нарушения формата не отображаются в списке ошибок, но их можно легко устранить (см. наше руководство ниже).
Вы можете начать генерацию EditorConfig через обозреватель решений. Просто нажмите правой кнопкой мыши на папку с решением, проектом или подпапкой, к которой вы хотите применить стандарт, нажмите add («добавить»), а затем EditorConfig file (IntelliCode) (Файл EditorConfig (IntelliCode)). В случае с проектом вы также можете нажать add («добавить»), затем new item («новый элемент») и EditorConfig file (IntelliCode) (Файл EditorConfig (IntelliCode)).
Обратите внимание, что файлы EditorConfig применяются принудительно в иерархическом порядке ко всем файлам под ними. Например, если вам нужно применить набор стандартов ко всему решению, поместите .editorconfig в каталог решения. Если у вас есть подпапки или проекты с разными стандартами, создайте новый файл EditorConfig для этих подпапок/проектов, чтобы перезаписать стандарты более высокого уровня.
Как исправить код, чтобы он соответствовал новым стандартам
Существует несколько способов очистки кода для соответствия новым стандартам в зависимости от ваших целей.
- Использование меню быстрых действий Lightbulb (Ctrl+ или Alt+Enter)
Если существует проблема стиля, то появится лампочка (а также список ошибок), чтобы вы могли автоматически исправить любые несоответствия. В меню Lightbulb можно выбрать область исправления: экземпляр, документ, проект или решение. - Использование функции 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# > Стиль кода > Форматирование > Общие > Настройки формата документа (экспериментальная)):
И еще отметьте для себя, что настройки по умолчанию не исправляют некоторые стандарты стиля. Вы можете добавить их с помощью настроек инструментов (например, настройка «Применить скрытые/показываемые типы» запустит правила стиля, связанные с использованием переменных в коде).
Что нужно знать при работе с EditorConfig
Есть несколько известных проблем, которые следует учитывать при работе с EditorConfig:
- Необходимо закрывать и снова открывать файлы, чтобы отобразились примененные изменения стандартов в версии 15.8 Preview 2 и более ранних.
В версиях Visual Studio 2017, вышедших ранее 15.8 Preview 3, следует закрывать и повторно открывать все открытые документы, чтобы отобразились изменения, произошедшие после создания стандартов в файле EditorConfig. Это исправлено в версии 15.8 Preview 3. - При создании файла с помощью диалогового окна 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.
Зарегистрируйтесь для получения доступа к ограниченной пробной версии, чтобы стать участником теста и узнать об изменениях первыми.
Комментарии (8)
karalevkirill
08.08.2018 12:58Блог Майкрософт рассказывает как писать «только хороший код».
Иронично.
anonymous
08.08.2018 13:04Можно ли подключить потом .editorconfig к msbuild? тогда можно было бы блокировать merge веток с изменениями, не соответствующими правилам.
peresada
Мимо