В мае на Build 2018 мы представили расширение Visual Studio IntelliCode. Оно помогает писать код быстрее, избегать ошибок и предлагает разработчикам подсказки, предугадывая их цели. Несколько дней назад вышло обновление, значительно направленное в сторону улучшения взаимодействия с C#. Подробнее под катом!
![](https://habrastorage.org/webt/1e/oq/6m/1eoq6mmoxfx30dihukhx4t5v4ce.jpeg)
Кстати, расширение уже работает и с Python.
После объявления о выпуске Visual Studio IntelliCode на конференции Build 2018 мы рады представить обновленное расширение Visual Studio IntelliCode, поддерживающее стандарты оформления кода для C#. Оно поможет вам и вашим коллегам получить более читаемый и согласованный код. Если вы не знакомы с расширением Intellicode, то в него уже встроена технология IntelliSense с поддержкой ИИ, о которой говорится в первоначальном объявлении. Если расширение установлено, то, вероятно, оно уже обновилось автоматически. Если нет, то вы можете установить расширение прямо сейчас, перейдя по этой ссылке.
![](https://habrastorage.org/webt/db/ev/xl/dbevxlkadnhqwvqzwp1tgbxwdrw.png)
Если код согласован, то его удобнее обслуживать и читать. Недавнее исследование Microsoft Research в этой области показало, что 18 процентов комментариев с просьбами о помощи с проблемами кода были связаны с ошибками стандартов оформления.
Обновленное расширение IntelliCode позволяет по требованию генерировать файл .editorconfig, идеально соответствующий стандартам оформления, используемым в вашем коде. Больше не надо решать всем коллективом, каким стандартам следовать!
Создав этот файл один раз, вы сможете с его помощью поддерживать единообразие базы исходного кода для всех членов группы. Также можно быстро и просто устранять проблемы с форматированием, используя меню быстрых действий Quick Ctrl (Ctrl+ или Alt+Enter) или новую настраиваемую функцию Format Document (Ctrl+K, D) в Visual Studio 2017 версии 15.8 Preview 3 и выше.
IntelliCode создает файл .editorconfig, сканируя файлы кода ниже выбранной вами точки, чтобы создать наиболее полно соответствующий набор стандартов. Когда он будет создан, вы увидите, что в списке ошибок появятся сообщения о нарушениях стандартов стиля кода; пример показан ниже:
![](https://habrastorage.org/webt/v5/9n/bc/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 для этих подпапок/проектов, чтобы перезаписать стандарты более высокого уровня.
Существует несколько способов очистки кода для соответствия новым стандартам в зависимости от ваших целей.
![](https://habrastorage.org/webt/ol/vj/e1/olvje1i7biwyezlzcmdxoi5iifk.png)
И еще отметьте для себя, что настройки по умолчанию не исправляют некоторые стандарты стиля. Вы можете добавить их с помощью настроек инструментов (например, настройка «Применить скрытые/показываемые типы» запустит правила стиля, связанные с использованием переменных в коде).
Есть несколько известных проблем, которые следует учитывать при работе с EditorConfig:
Спасибо вам за проявленный интерес к IntelliCode. Мы будем рады получать ваши отзывы и совершенствовать IntelliCode по мере развития проекта. Используйте страницу предложений, чтобы высказать свое мнение. Если вы обнаружите какие-либо проблемы с расширением, используйте встроенную в Visual Studio функцию Report a Problem (Сообщить о проблеме), напишите в вашем отчете, что речь идет о IntelliCode. Это поможет нам собрать необходимую информацию для решения проблемы.
По мере того как мы расширяем возможности, чтобы охватить больше вариантов использования и языков программирования, мы будем предоставлять ограниченный предварительный доступ к IntelliCode.
Зарегистрируйтесь для получения доступа к ограниченной пробной версии, чтобы стать участником теста и узнать об изменениях первыми.
![](https://habrastorage.org/webt/1e/oq/6m/1eoq6mmoxfx30dihukhx4t5v4ce.jpeg)
Кстати, расширение уже работает и с Python.
После объявления о выпуске Visual Studio IntelliCode на конференции Build 2018 мы рады представить обновленное расширение Visual Studio IntelliCode, поддерживающее стандарты оформления кода для C#. Оно поможет вам и вашим коллегам получить более читаемый и согласованный код. Если вы не знакомы с расширением Intellicode, то в него уже встроена технология IntelliSense с поддержкой ИИ, о которой говорится в первоначальном объявлении. Если расширение установлено, то, вероятно, оно уже обновилось автоматически. Если нет, то вы можете установить расширение прямо сейчас, перейдя по этой ссылке.
Ввод стандартов оформления кода и форматирования в базу
![](https://habrastorage.org/webt/db/ev/xl/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, сканируя файлы кода ниже выбранной вами точки, чтобы создать наиболее полно соответствующий набор стандартов. Когда он будет создан, вы увидите, что в списке ошибок появятся сообщения о нарушениях стандартов стиля кода; пример показан ниже:
![](https://habrastorage.org/webt/v5/9n/bc/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 для этих подпапок/проектов, чтобы перезаписать стандарты более высокого уровня.
Как исправить код, чтобы он соответствовал новым стандартам
Существует несколько способов очистки кода для соответствия новым стандартам в зависимости от ваших целей.
- Использование меню быстрых действий 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# > Стиль кода > Форматирование > Общие > Настройки формата документа (экспериментальная)):
![](https://habrastorage.org/webt/ol/vj/e1/olvje1i7biwyezlzcmdxoi5iifk.png)
И еще отметьте для себя, что настройки по умолчанию не исправляют некоторые стандарты стиля. Вы можете добавить их с помощью настроек инструментов (например, настройка «Применить скрытые/показываемые типы» запустит правила стиля, связанные с использованием переменных в коде).
Что нужно знать при работе с 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
Мимо