К сожалению, в новой версии IntelliJ IDEA 2019.1 возникла проблема с автодополнением кода с использованием плагинов Dart и Flutter. Странно то, что когда класс написан, IntelliJ может правильно найти пакет Dart, но когда я пытаюсь написать его с самого начала, автодополнение кода не работает, IntelliJ говорит «Нет предложений»:
https://i.stack.imgur.com/3J87s.gif
Еще один момент: я не знаю, почему в проекте структуры, хотя установлены Dart SDK и плагин Flutter, IntelliJ настаивает на установке другого SDK, в моем случае JDK. Думаю, из-за этого возникают проблемы с автодополнением кода:
https://i.stack.imgur.com/JLyhk.gif
У вас когда-нибудь были такие проблемы? Как вы их решили?
Большое спасибо за вашу помощь!
решение1
Это не имеет никакого отношения к вашему второму скриншоту (я думаю, это просто связано с обычными проектами Java в IntelliJ, что здесь не применимо).
Похоже, это просто ошибка в текущей стабильной версии Flutter SDK (и текущей версии языка Dart, которую он использует). Однако эта ошибка, похоже, отсутствует в текущей бета-версии. Если вы откроете терминал в каталоге вашего проекта (это проще всего сделать в IntelliJ, щелкнув Terminal
в нижней части окна) и напишете следующее:
$ flutter channel beta
$ flutter upgrade
Вы переключитесь на текущую бета-версию Flutter (с соответствующей версией языка Dart, в которой, похоже, исправлена ошибка). Дополнительная информация об изменении каналов Flutterздесь.
На момент написания статьи, используя бета-канал, у меня были следующие текущие номера версий:
Flutter:
• версия: 1.3.8
• канал бета
•https://github.com/flutter/flutter.git
Framework:
• пересмотр e5b1ed7a7f (4 недели назад)
• 2019-03-06 14:23:37 -0800
Двигатель:
• ревизия f4951df193
Инструменты:
• Dart 2.2.1 (сборка 2.2.1-dev.0.0 571ea80e11)
Выполнение вышеописанного решило проблему для меня, и теперь мое автодополнение кода работает так, как и ожидалось. Очевидно, вы должны знать о дополнительных предостережениях использования нестабильных каналов сборки, но вы всегда можете переключиться обратно.
Вы можете прочитать больше о том, как я понял, что мне, возможно, придется обновить свои SDK.здесь.
Похоже, они в последнее время вносят большие изменения. Думаю, в текущей стабильной версии просто есть ошибка (или изначально это не было функцией?).