今日のできごと
社内で開発している際、「import文は自動補完で相対パスになってしまうけど、絶対パスに直してからコミットするように。」と言われていました。社内ではルールを守っていましたが、個人開発では、AndroidStudioの自動補完に頼っておりました。(クラス名を記載後、importがないためエラーとなったら、エラークリック時に表示されるオプションで、importを補完しておりました。)
今日、ファイルが増えてきたため、機能ごとにフォルダを分け、ファイルを移動しました。「Refactor」を使って移動したため、手動でのソース修正は不要だと思っていましたが、移動後に起動するとエラーが・・・。
lib/view/login_sign_up//input_list_id_view.dart:9:8: Error: Error when reading 'lib/view/main.dart': No such file or directory
import '../../main.dart';
そうです。フォルダ構成を変更してしまったため、相対パスでimportされていた部分で、ファイルを正しく認識できなくなってしまっていたのです。社内で注意いただいた時は、記載を統一するためかな?と思っておりましたが、このために相対パスで記載しないルールとなっていたのですね。身をもって実感しました。
補足
その後、Android Studioで以下の設定をしたところ、自動で絶対パスでimportされるようになったように思われます。(先ほど設定して何度か試しただけのため、違ったら申し訳ありません。)
・Editor > General > Auto import > Dart で 「Update imports on paste」を 'Always'
・Language & Frameworks > Flutter > Editor で「Organize imports on save」にチェック
参考URL