Сбросить пробную версию Windows Intellij Idea

Обновлено: 01.07.2024

В этом руководстве показано, как использовать wallaby.js в WebStorm, IntelliJ IDEA, Rider, PhpStorm, RubyMine или PyCharm. Вы также можете найти пример проекта калькулятора с созданными конфигурациями запуска и файлами конфигурации для Mocha, QUnit и Jasmine в этом репозитории.

Настройка Валлаби

Wallaby для IDE JetBrains должен знать, какая конфигурация требуется для запуска ваших тестов. Чтобы настроить Wallaby, создайте новую конфигурацию запуска Wallaby.js, выбрав «Изменить конфигурации» в раскрывающемся меню в правом верхнем углу панели навигации или в меню «Выполнить».

Если вы используете технологию, которая поддерживается автоматической настройкой, установите для параметра Тип конфигурации конфигурации запуска значение Автоматически . Если у вас есть монорепозиторий и вы хотите запустить только один проект, установите корневой путь к папке вашего проекта.

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

Запуск Валлаби

После того как вы создали и сохранили конфигурацию запуска, вы можете запустить Wallaby, запустив свою конфигурацию запуска. При первом запуске Wallaby может потребоваться минута или две, чтобы установить свои зависимости. Зависимости кэшируются и автоматически обновляются при необходимости.

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

Окно инструментов

При запуске wallaby.js также отображается окно инструментов. Во время написания кода вам может не понадобиться открывать окно, поэтому вы можете свернуть его. Вы можете развернуть его в любое время, щелкнув индикатор состояния wallaby.js (или используя стандартный способ открытия окна инструмента настройки запуска).

status

В окне инструментов вы можете увидеть вкладку Failing Tests и вкладку Wallaby Console.

На вкладке «Неудачные тесты» отображаются все тесты, которые в настоящее время не пройдены, а также стеки ошибок и зарегистрированные вызовы console.log. Некоторые биты отображаемой информации являются гиперссылками, которые вы можете использовать с помощью мыши или клавиатуры для перехода к различным местам, например к точной строке ошибки, или неудачному тесту, или месту, где что-то регистрируется в консоли.

Кроме того, если ошибка теста содержит ожидаемые и фактические свойства, на вкладке "Неудачные тесты" отображается компактное представление различий и может отображаться параллельное представление различий. Это позволяет быстро отлаживать ошибочные утверждения о равенстве и моментальные снимки.

На вкладке Wallaby Console также отображается дополнительная информация о ходе выполнения теста. Эта вкладка также может быть полезна для устранения неполадок, связанных с wallaby.js.

Покрытие кода

После запуска wallaby.js вы можете увидеть покрытие кода в отслеживаемых им исходных файлах (указанных в файле конфигурации). Покрытие находится в режиме реального времени, поэтому вы можете начать изменять свой код, и покрытие будет автоматически обновляться по мере ввода текста.

Как видите, для каждой строки исходного кода отображаются разноцветные квадраты.

coverage

  • Серые квадраты означают, что исходная строка не покрывается ни одним из ваших тестов.
  • Зеленые квадраты означают, что исходная строка покрыта хотя бы одним из ваших тестов.
  • Желтые квадраты означают, что исходная строка лишь частично покрыта некоторыми тестами.
  • Красные квадраты означают, что исходная строка является источником ошибки или невыполненного ожидания или находится в стеке ошибок.
  • Розовые квадраты означают, что исходная строка находится на пути выполнения неудачного теста.

Если щелкнуть квадрат напротив строки исходного кода, откроется окно с информацией о тестах, покрывающих эту строку, включая все сообщения об ошибках и сообщения console.log.

Вы можете выполнять поиск внутри окна, используя стандартную команду Cmd/Ctrl + F, и перемещаться по ссылкам, используя Cmd/Ctrl + B.

window

Короткие сообщения об ошибках, сбои ожиданий и сообщения console.log также отображаются в строке, где и когда они происходят. Это очень удобно, так как позволяет избежать переключения контекста и устранять проблемы на месте во время написания кода.

Обзор значений

Обозреватель значений интегрируется с существующими механизмами вывода переменных и выражений Wallaby (console.log, комментарии в реальном времени, выражения-идентификаторы и команда «Показать значение») для отображения значений в удобном для навигации представлении в виде дерева в режиме реального времени. Дерево может быть расширено на любую глубину и может копировать пути/значения в буфер обмена.

Отладчик путешествий во времени

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

Проверка фокусировки

Иногда при написании или отладке теста, набора тестов или тестового файла для определенной функции может потребоваться выполнить этот конкретный тест, набор тестов или тестовый файл и просмотреть покрытие кода и выходные данные только для указанной области. Wallaby полностью поддерживает функции фокусировки тестирования фреймворков, такие как it.only , а также специальные комментарии для фокусировки/пропуска определенных тестовых файлов.

Wallaby также позволяет запускать Wallaby для выбранного файла или папки с помощью функции «Эксклюзивный тестовый прогон». Если у вас есть большой набор тестов, выполнение которого занимает много времени, вы можете использовать команду / пункт меню «Начать эксклюзивный тестовый прогон», который позволяет вам выбрать тестовый файл или папку, содержащую тестовые файлы, на которых вы хотите сосредоточиться, и запустить Wallaby. только для того, чтобы запустить их. Если у вас уже запущен Wallaby, но вы хотите сосредоточиться только на конкретном тестовом файле или папке, вы можете использовать команду/пункт меню «Добавить в эксклюзивный тестовый прогон».

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

Проверить фильтрацию

Фильтрация тестов позволяет ограничить отображение индикаторов покрытия, сообщений консоли, сообщений о живых комментариях и сообщений об ошибках только тестами, над которыми вы работаете, а не всеми тестами в вашем проекте. Вы можете заметить, что Test Focusing охватывает фильтрацию, но между ними есть два ключевых различия:

  • Фильтрация тестов, в отличие от Фокусировки тестов, не выполняет ваши тесты повторно при применении/отмене фильтра. Когда вы переключаетесь с запуска только выбранных тестов на запуск всех тестов в вашем проекте, все тесты запускаются повторно; Фильтрация тестов не запускает повторно никакие тесты, когда фильтр установлен или снят.
  • Функция фильтрации тестов на самом деле не меняет поведение Wallaby во время выполнения (после любого изменения кода будет повторно запущен минимальный набор затронутых тестов). В отличие от этого, функция Test Focusing может обеспечить более эффективный рабочий процесс для больших репозиториев с большим количеством тестовых файлов или для более медленных тестов, поскольку Wallaby будет обрабатывать/запускать только выбранные тесты.

Wallaby поддерживает три способа добавления и удаления тестов и тестовых файлов в/из тестового фильтра:

  • Действия "Добавить тест в фильтр" и "Удалить тест из контекста фильтра"
  • Приложение Wallaby (с полной синхронизацией редактора)

Вы можете очистить тестовый фильтр, нажав кнопку «Сбросить тестовый фильтр» в левой части окна «Конфигурация запуска Wallaby», выполнив действие «Сбросить тестовый фильтр» или нажав кнопку «Сбросить тестовый фильтр» в приложении Wallaby.< /p>

Контекстные действия

Еще один способ получить доступ к некоторым действиям строки/контекста исходного кода — использовать быстрые действия с лампочкой или просто нажать Alt + Enter в любой строке. Действия, которые вы можете использовать, включают:

context

  • Показать тест(ы) строки: работает аналогично щелчку квадрата строки исходного кода и отображает тестовые данные, относящиеся к строке.
  • Перейти к непройденному тесту: быстрый переход к провалившемуся тесту из любого "розового" контекста (путь выполнения провалившегося теста).
  • Переход к источнику ошибки: быстрый переход к источнику ошибки теста из любого "розового" контекста (неудачный путь выполнения теста).
  • Показать непокрытые области строки: это действие полезно для «желтых» строк, чтобы показать, что именно не покрыто строкой. Незакрытые выражения будут выделены красным цветом.
  • Показать разницу данных утверждения: отображает разницу между фактическими и ожидаемыми данными ошибочного утверждения (обычно равенство).
  • Показать непокрытые области файла: аналогично предыдущему действию отображаются непокрытые области для всего файла. Красные выделения для обоих действий можно убрать, нажав клавишу Esc (или можно просто начать изменять код файла, и они исчезнут).
  • Выполнить линейный тест(ы): действие довольно простое (но столь востребованное многими) – оно просто запускает один тест (если вызывается из теста) или все связанные тесты (если вызывается в каком-либо исходном коде, охватываемом по тестам).
  • Выполнить тест(ы) файлов: действие запускает все тесты в тестовом файле, в котором оно вызывается, или все тесты во всех тестовых файлах, которые охватывают исходный файл, в котором вызывается действие.
  • Запустить тесты проекта: действие запускает все тесты в вашем проекте.
  • Обновить снимки проекта: команда обновляет все снимки Jest в вашем проекте.
  • Обновить снимки файлов: команда обновляет все снимки Jest в текущем (выделенном) файле или все снимки во всех тестовых файлах, которые охватывают исходный файл, внутри которого вызывается действие.
  • Обновить снимки тестов: команда обновляет снимки одного теста (если вызывается из теста) или всех снимков во всех связанных тестах (если вызывается в каком-либо исходном коде, охватываемом тестами).
  • Добавить тест в фильтр: добавляет тест в фильтр тестов. Действие доступно, только когда курсор редактора находится в строке объявления теста, а тест еще не добавлен в фильтр.
  • Удалить тест из фильтра: удаление теста из фильтра тестов. Действие доступно, только когда курсор редактора находится на строке объявления теста, а тест уже добавлен в фильтр.
  • Очистить значение: очищает текущие значения в строке, которые были отображены с помощью действия «Показать значение» (нажмите клавишу «Esc», чтобы выполнить действие).
  • Очистить значения файла: удаляет все текущие значения в файле, которые были отображены с помощью действия «Показать значение» (нажмите Esc, чтобы выполнить действие).
  • Показать снимок экрана последнего запуска: команда отображает снимок экрана последнего запуска теста (важное примечание: эта функция доступна только при выполнении тестов с помощью Chrome и PhantomJs).

Все описанные действия также можно сопоставить с любыми сочетаниями клавиш, которые вы предпочитаете для повышения производительности. Вы можете сделать это в Настройки - Раскладка клавиатуры (ищите валлаби в настройках раскладки).

keymap

Рекомендуемый рабочий процесс заключается в том, чтобы поддерживать работоспособность wallaby.js во время редактирования кода. Он должен подхватывать существующие изменения файлов, удаление файлов, добавление новых файлов и тестов (при условии, что они перечислены в шаблонах файлов в файле конфигурации). Wallaby.js делает все возможное, чтобы отслеживать зависимости между вашими файлами и тестами, но иногда вам может потребоваться перезапустить его, если ваши изменения не будут приняты. Вы можете остановить/запустить wallaby.js в любое время, остановив/запустив активную конфигурацию запуска.

Тесты поиска

Для поиска и быстрого перехода к тесту вы можете использовать кнопку "Поиск тестов", которая находится в левой части окна конфигурации запуска Wallaby:

Тесты поиска

Нажатие кнопки запускает действие "Перейти к тесту", которое позволяет быстро выполнить поиск по всем вашим тестам и перейти к выбранному тесту:

Перейти к тесту

Действие также можно сопоставить с любым удобным сочетанием клавиш.

Запускать только при сохранении

Если вы хотите запускать тесты только тогда, когда ваши файлы сохранены на диск, вы можете обновить режим запуска для сеанса Wallaby. В левой части окна конфигурации Wallaby Run доступны две команды (выделены на снимке экрана ниже):

  • Запустить текущий сеанс при любых изменениях: команда запускает тестовый запуск текущего сеанса Wallaby при изменении кода в редакторе или при сохранении кода на диске.
  • Запустить текущий сеанс только при сохранении: команда запускает тестовый запуск текущего сеанса Wallaby ТОЛЬКО при сохранении кода на диске.

Важное примечание: чтобы использовать функцию "Выполнять только при сохранении", необходимо сначала отключить автосохранение:

  • Выберите «Файл» > «Настройки» (Ctrl+Alt+S).
    • Перейдите в раздел Внешний вид и поведение > Системные настройки.
      • Убедитесь, что два флажка не отмечены:
        • Сохранять файлы при деактивации фрейма
        • Автоматически сохранять файлы, если приложение бездействует в течение x секунд.
        • Поставьте галочку "Отмечать измененные файлы звездочкой"
        • (Необязательно, но рекомендуется) В разделе «Политика закрытия вкладок» выберите «Сначала закрыть неизмененные файлы». Вы также можете увеличить количество разрешенных вкладок.

        Подсистема Windows для Linux (WSL)

        Для сред Microsoft Windows Wallaby можно настроить для работы с использованием WSL. И WSL1, и WSL2 поддерживаются Wallaby в редакторах JetBrains.

        Если вы являетесь пользователем Windows и хотите запускать тесты Wallaby с помощью WSL, вы можете указать «Использовать WSL» в конфигурации запуска Wallaby.

        В зависимости от того, как узел установлен в вашем экземпляре WSL, вам также может потребоваться явно указать путь к узлу в настройке Node.js вашей конфигурации запуска Wallaby.При использовании WSL путь должен отражать путь в вашей среде WSL, а не в вашей среде Windows.

        Jetbrains WSL

        Пробная версия

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

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

        Еще один способ продолжить использование IDEA — сбросить 30-дневный пробный период на неопределенный срок. Это просто и стабильно. Не нужно беспокоиться о сбое кода активации.

        • Это руководство подходит для всех версий ниже 2021.2.
        • Это руководство подходит для продуктов JetBrains, включая Pycharm, IDEA, WebStorm, Phpstorm, Datagrip, RubyMine, CLion, AppCode и т. д.
        • Это руководство подходит для систем Windows/Mac/Linux.

        Я объясняю шаги PhpStorm 2021.2 в системе Mac, и то же самое для других продуктов.

        PhoStorm 2021.2

        Перейдите на официальный сайт, чтобы загрузить и установить установочный файл.

        Вы будете использовать эти файлы. Дерево каталогов выглядит следующим образом:

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

        2.1 Запустить скрипт

        Подождите, пока PhoStorm запустится, появится окно регистрации, мы отметим «Оценить бесплатно» , нажмем «Оценить» и сначала попробуем в течение 30 дней.

        проверьте Оценить бесплатно, нажмите Оценить и попробуйте 30 дней

        Обратите внимание: если вышеуказанное окно не появляется, вы можете запустить скрипт, а файл скрипта находится в папке reset_script.

        Задачей этих скриптов является удаление файлов eval, сгенерированных IDE.

        2.2 Установить плагин

        Вы можете установить Ide eval reset либо из Marketplace, либо с диска.

        2.2.1 Из торговой площадки

        • Windows: Настройки/Настройки. -> Плагины
        • LInux/Mac: настройки. -> Плагины

        Найдите Ide eval reset в Marketplace и установите его.

        установить плагин Ide eval reset

        2.2.2 С диска

        • Windows: Настройки/Настройки. -> Плагины
        • LInux/Mac: настройки. -> Плагины

        Нажмите значок настройки, выберите «Установить плагин с диска». , а во всплывающем окне выберите загруженный файл ide-eval-resetter-2.1.14-d2fedb86.zip .

        Установить плагин с диска

        После успешной установки Eval Reset появится в меню "Справка".

        Eval Reset отображается в меню

        3.1 Запланированные задачи для запуска скриптов

        Если вы запустите сценарий, вы можете поместить команду в запланированное задание, например, в запланированное задание системы Windows, использовать Crontab для Linux/Mac и т. д. Нет необходимости выполнять это вручную.

        3.2 Автоматический сброс перед перезапуском

        Нажмите «Справка» -> «Сброс Eval». Сбросить дату пробного периода.

        Выполните Eval Reset, чтобы сбросить 30-дневный пробный период

        Если установлен флажок Автосброс перед каждым перезапуском, информация о пробной версии будет автоматически сбрасываться при каждом перезапуске или выходе из среды IDE.

        Неограниченный патч сброса можно найти в SkyDrive. Если нет, вернитесь к «навсегда» в официальном аккаунте Java.

        (навсегда активировать golang) неограниченный сброс 30-дневный пробный период

        (навсегда активировать golang) неограниченный сброс 30-дневный пробный период

        Неограниченный сброс, 30-дневный пробный период, исправление, проще говоря: если отмечен автоматический сброс перед каждым перезапуском, им не нужно управлять снова, раз и навсегда.

        У продуктов JetBrains есть совесть. Они позволят попробовать в течение 30 дней (это число прописано в коде), чтобы оценить, действительно ли вам нужно за это платить.

        Проект исправленного патча босса Zhile перестал обновляться, но он предоставляет нам еще один способ использовать идею: бесконечно сбрасывать 30-дневный пробный период, поэтому нам не нужно беспокоиться об истечении срока действия кода активации и параметров установки. больше~
        будь осторожен

        Это руководство применимо ко всем версиям ниже IntelliJ idea 2020.3.3. Будьте уверены~
        Это руководство применимо ко всем продуктам JetBrains, включая pychart, idea, webstorm, phpstorm, datagrip, rubymine, clion, appcode и т. д.
        Это руководство применимо к Windows / Система MAC/Linux. В статье используется система Windows в качестве примера для объяснения, и другие системы могут следовать порядку руководства.
        1、 Начните установку
        Сначала загрузите 30-дневный пробный патч с неограниченным сбросом:

        После загрузки перетащите zip-пакет подключаемого модуля в интерфейс IDE. Если вы не можете перетащить установку, вы можете нажать Настройки / настройки… —> Установить плагин с диска…:

        (навсегда активировать golang) неограниченный сброс 30-дневный пробный период

        После успешной установки подключаемого модуля вам будет предложено следующее:

        (навсегда активировать golang) неограниченный сброс 30-дневный пробный период


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

        (навсегда активировать golang) неограниченный сброс 30-дневный пробный период

        (навсегда активировать golang) неограниченный сброс 30-дневный пробный период

        (навсегда активировать golang) неограниченный сброс 30-дневный пробный период

        3、 Как просмотреть оставшийся испытательный срок

        После входа в интерфейс идеи нажмите Справка – > зарегистрируйтесь для просмотра:

        (навсегда активировать golang) неограниченный сброс 30-дневный пробный период

        Вы можете видеть, что до окончания пробного периода осталось 30 дней:

        (навсегда активировать golang) неограниченный сброс 30-дневный пробный период


        4、 Некоторые примечания

        Следуйте инструкциям по настройке редактора, чтобы установить плагины Dart и Flutter.

        Обновление плагинов

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

        Чтобы проверить наличие обновлений вручную:

        1. Откройте настройки («Android Studio» > «Проверить наличие обновлений» в macOS, «Справка» > «Проверить наличие обновлений» в Linux).
        2. Если в списке есть дротик или флаттер, обновите их.

        Создание проектов

        Вы можете создать новый проект одним из нескольких способов.

        Создание нового проекта

        Чтобы создать новый проект Flutter из шаблона начального приложения Flutter:

        1. В IDE нажмите «Новый проект» в окне приветствия или «Файл» > «Создать» > «Проект» в главном окне IDE.
        2. Укажите путь к Flutter SDK и нажмите «Далее».
        3. Введите желаемое название проекта, описание и местоположение проекта.
        4. Если вы можете опубликовать это приложение, укажите домен компании.
        5. Нажмите "Готово".

        Настройка домена компании

        При создании нового приложения некоторые подключаемые модули Flutter IDE запрашивают название организации в обратном порядке доменов, например com.example . Наряду с названием приложения оно используется в качестве имени пакета для Android и идентификатора пакета для iOS при выпуске приложения. Если вы думаете, что когда-нибудь выпустите это приложение, лучше указать это сейчас. Их нельзя изменить после выпуска приложения. Название вашей организации должно быть уникальным.

        Создание нового проекта из существующего исходного кода

        Чтобы создать новый проект Flutter, содержащий существующие файлы исходного кода Flutter:

        В IDE нажмите «Создать новый проект» в окне приветствия или «Файл» > «Создать» > «Проект» в главном окне IDE.

        Важно: не используйте параметр «Создать» > «Проект из существующих источников» для проектов Flutter.

        Редактирование кода и просмотр ошибок

        Подключаемый модуль Flutter выполняет анализ кода, что позволяет:

        Панель анализа дротика

        • Подсветка синтаксиса.
        • Автозавершение кода на основе расширенного анализа типов.
        • Переход к объявлениям типов (Переход > Объявление) и поиск вариантов использования типов (Правка > Найти > Поиск использований).
        • Просмотр всех текущих проблем с исходным кодом (Просмотр > Окна инструментов > Dart Analysis). Любые проблемы анализа отображаются на панели Dart Analysis:

        Запуск и отладка

        Примечание. Отлаживать приложение можно несколькими способами.

        • Используя DevTools, набор инструментов для отладки и профилирования, которые запускаются в браузере и включают инспектор Flutter. DevTools заменяет предыдущий браузерный инструмент профилирования Observatory.
        • Использование встроенных функций отладки Android Studio (или IntelliJ), таких как возможность установки точек останова.
        • С помощью инспектора Flutter, доступного непосредственно в Android Studio и IntelliJ.

        Приведенные ниже инструкции описывают функции, доступные в Android Studio и IntelliJ. Информацию о запуске DevTools см. в разделе Запуск DevTools из Android Studio в документации DevTools.

        Запуск и отладка управляются с главной панели инструментов:

        Основная панель инструментов IntelliJ

        Выбор цели

        Когда проект Flutter открыт в IDE, вы должны увидеть набор специальных кнопок Flutter в правой части панели инструментов.

        Примечание. Если кнопки «Выполнить» и «Отладка» отключены и в списке нет целей, Flutter не смог обнаружить какие-либо подключенные устройства iOS или Android или симуляторы. Чтобы продолжить, вам нужно подключить устройство или запустить симулятор.

        1. Найдите кнопку раскрывающегося списка Flutter Target Selector. Отобразится список доступных целей.
        2. Выберите цель, на которой вы хотите запустить свое приложение. При подключении устройств или запуске симуляторов появляются дополнительные записи.

        Запуск приложения без точек останова

        1. Нажмите значок «Воспроизвести» на панели инструментов или выберите «Выполнить» > «Выполнить». На нижней панели «Выполнить» отображаются выходные данные журналов.

        Запуск приложения с точками останова

        1. При желании установите точки останова в исходном коде.
        2. Нажмите значок "Отладка" на панели инструментов или выберите "Выполнить" > "Отладка".
          • На нижней панели отладчика отображаются кадры стека и переменные.
          • На нижней панели консоли отображаются подробные выходные данные журналов.
          • Отладка основана на конфигурации запуска по умолчанию. Чтобы настроить это, нажмите кнопку раскрывающегося списка справа от селектора устройств и выберите Изменить конфигурацию.

        Быстрое редактирование и обновление цикла разработки

        Flutter предлагает лучший в своем классе цикл разработки, позволяющий почти мгновенно увидеть эффект ваших изменений с помощью функции Горячая перезагрузка с сохранением состояния. Подробнее см. в разделе Горячая перезагрузка.

        Показать данные об эффективности

        Примечание. Чтобы изучить проблемы с производительностью во Flutter, см. представление временной шкалы.

        Чтобы просмотреть данные о производительности, включая информацию о восстановлении виджета, запустите приложение в режиме отладки, а затем откройте окно инструмента "Производительность", выбрав "Вид" > "Окна инструментов" > "Производительность Flutter".

        Производительность Flutter окно

        Чтобы просмотреть статистику о том, какие виджеты перестраиваются и как часто, нажмите «Показать информацию о перестроении виджетов» на панели «Производительность». Точное количество перестроений для этого кадра отображается во втором столбце справа. При большом количестве перестроек отображается желтый вращающийся круг. Крайний правый столбец показывает, сколько раз виджет был перестроен с момента входа на текущий экран. Для виджетов, которые не перестроены, отображается сплошной серый кружок. В противном случае отображается серый вращающийся круг.

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

        Цель этой функции – информировать вас о перестроении виджетов. Вы можете не осознавать, что это происходит, просто глядя на код. Если виджеты перестраиваются неожиданно, возможно, это признак того, что вам следует провести рефакторинг кода, разделив большие методы сборки на несколько виджетов.

        Этот инструмент может помочь устранить как минимум четыре распространенные проблемы с производительностью:

        Весь экран (или его большие части) создается одним StatefulWidget, что приводит к ненужному созданию пользовательского интерфейса. Разделите пользовательский интерфейс на более мелкие виджеты с меньшими функциями build().

        Внеэкранные виджеты перестраиваются. Это может произойти, например, когда ListView вложен в высокий столбец, выходящий за пределы экрана. Или когда RepaintBoundary не установлен для списка, выходящего за пределы экрана, что приводит к перерисовке всего списка.

        Функция build() для AnimatedBuilder рисует поддерево, которое не нужно анимировать, что приводит к ненужной перестройке статических объектов.

        Виджет «Непрозрачность» слишком высоко расположен в дереве виджетов. Или анимация непрозрачности создается путем непосредственного управления свойством непрозрачности виджета непрозрачности, что приводит к перестроению самого виджета и его поддерева.

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

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

        И помните, информация о перестроении виджета доступна только в отладочной сборке. Проверьте производительность приложения на реальном устройстве в сборке профиля, но устраняйте проблемы с производительностью в отладочной сборке.

        Советы по редактированию кода Flutter

        Если у вас есть дополнительные советы, которыми мы хотели бы поделиться, дайте нам знать!

        Подсказки и быстрые исправления

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

        Обтекание новым вспомогательным виджетом

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

        Обернуть список виджетов новым помощником по виджетам

        Аналогичен показанному выше помощнику, но для переноса существующего списка виджетов, а не отдельного виджета.

        Преобразование ребенка в помощь детям

        Заменяет дочерний аргумент на дочерний аргумент и заключает значение аргумента в список.

        Интерактивные шаблоны

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

        Подключаемый модуль Flutter включает следующие шаблоны:

        • Префикс stless : создайте новый подкласс StatelessWidget .
        • Префикс stful: создайте новый подкласс StatefulWidget и связанный с ним подкласс State.
        • Префикс stanim : создайте новый подкласс StatefulWidget и связанный с ним подкласс State, включая поле, инициализированное с помощью AnimationController .

        Вы также можете определить пользовательские шаблоны в меню "Настройки" > "Редактор" > "Интерактивные шаблоны".

        Сочетания клавиш

        Горячая перезагрузка

        В Linux (раскладка клавиш по умолчанию для XWin) и Windows используются сочетания клавиш Control + Alt + ; и Control + обратная косая черта .

        В macOS (сочетание клавиш копия Mac OS X 10.5+) используются сочетания клавиш Command + Option и Command + обратная косая черта .

        Раскладки клавиатуры можно изменить в настройках/предпочтениях IDE. Выберите Раскладка клавиатуры, затем введите flutter в поле поиска в правом верхнем углу. Щелкните правой кнопкой мыши привязку, которую хотите изменить, и выберите Добавить сочетание клавиш.

         Раскладка настроек IntelliJ

        Горячая перезагрузка и горячий перезапуск

        Горячая перезагрузка работает путем внедрения обновленных файлов исходного кода в работающую виртуальную машину Dart. Сюда входит не только добавление новых классов, но и добавление методов и полей к существующим классам, а также изменение существующих функций. Однако некоторые типы изменений кода не могут быть загружены в горячем режиме:

        • Инициализаторы глобальных переменных
        • Инициализаторы статических полей
        • Метод main() приложения

        Чтобы внести эти изменения, вы можете полностью перезапустить приложение без завершения сеанса отладки. Чтобы выполнить горячую перезагрузку, не нажимайте кнопку «Стоп», просто повторно нажмите кнопку «Выполнить» (если в сеансе запуска) или кнопку «Отладка» (если в сеансе отладки) или нажмите кнопку «горячая перезагрузка», удерживая клавишу Shift.

        Редактирование кода Android в Android Studio с полной поддержкой IDE

        Открытие корневого каталога проекта Flutter не открывает доступ ко всем файлам Android в IDE. Приложения Flutter содержат подкаталог с именем android. Если вы откроете этот подкаталог как отдельный проект в Android Studio, среда IDE сможет полностью поддерживать редактирование и рефакторинг всех файлов Android (например, скриптов Gradle).

        Если у вас уже открыт весь проект как приложение Flutter в Android Studio, есть два эквивалентных способа открыть файлы Android отдельно для редактирования в среде IDE. Прежде чем попробовать это, убедитесь, что у вас установлена ​​последняя версия Android Studio и плагины Flutter.

        • В «представлении проекта» вы должны увидеть подкаталог под корнем вашего флаттер-приложения с именем android . Щелкните его правой кнопкой мыши и выберите Flutter > Открыть модуль Android в Android Studio.
        • ИЛИ вы можете открыть любой из файлов в подкаталоге android для редактирования. Затем вы должны увидеть баннер «Команды Flutter» в верхней части редактора со ссылкой «Открыть для редактирования в Android Studio». Нажмите на эту ссылку.

        Для обоих вариантов Android Studio позволяет использовать отдельные окна или заменить существующее окно новым проектом при открытии второго проекта. Любой вариант подходит.

        Если у вас еще не открыт проект Flutter в Android Studio, вы можете с самого начала открыть файлы Android как отдельный проект:

        1. Нажмите «Открыть существующий проект Android Studio» на заставке приветствия или «Файл» > «Открыть», если Android Studio уже открыта.
        2. Откройте подкаталог android непосредственно в корневом каталоге приложения flutter. Например, если проект называется flutter_app , откройте flutter_app/android .

        Если вы еще не запустили приложение Flutter, Android Studio может сообщить об ошибке сборки при открытии проекта Android. Запустите flutter pub get в корневом каталоге приложения и перестройте проект, выбрав «Сборка» > «Создать», чтобы исправить это.

        Редактирование кода Android в IntelliJ IDEA

        Чтобы разрешить редактирование кода Android в IntelliJ IDEA, необходимо настроить расположение Android SDK:

        1. В меню «Настройки» > «Плагины» включите поддержку Android, если вы еще этого не сделали.
        2. Щелкните правой кнопкой мыши папку Android в представлении "Проект" и выберите "Открыть настройки модуля".
        3. На вкладке "Источники" найдите поле "Уровень языка" и выберите уровень 8 или выше.
        4. На вкладке "Зависимости" найдите поле SDK модуля и выберите Android SDK. Если SDK не указан, нажмите «Создать» и укажите расположение Android SDK. Убедитесь, что вы выбрали Android SDK, соответствующий тому, который используется во Flutter (как сообщает flutter doctor ).
        5. Нажмите "ОК".

        Советы и рекомендации

        Устранение неполадок

        Известные проблемы и отзывы

        Важные известные проблемы, которые могут повлиять на вашу работу, задокументированы в файле README подключаемого модуля Flutter.

        Все известные ошибки отслеживаются в системе отслеживания проблем:

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

        • Выполните быстрый поиск в средствах отслеживания проблем, чтобы убедиться, что проблема уже отслежена.
        • Убедитесь, что у вас установлена ​​самая последняя версия подключаемого модуля.

        При подаче новых задач включите вывод flutter doctor .

        Если не указано иное, эта работа распространяется под лицензией Creative Commons Attribution 4.0 International License, а образцы кода распространяются под лицензией BSD.

        Читайте также: