簡體   English   中英

我可以讓 Android Studio 生成帶有命名參數的 Dart 構造函數代碼並添加密鑰嗎?

[英]Can I make Android Studio generate Dart constructors code with named parameters and add key?

當我自動生成 dart 構造函數時,我希望生成器使我的構造函數使用命名參數並添加鍵。

(花括號包裹構造函數參數)

我可以執行一些簡單的技巧來讓 Android Studio 為我做這個嗎?

// Auto generated constructor without named parameters. 
// This is how Android studio currently generates my Widget constructors.
class MyTestModel {
  MyTestModel(this.a, this.b, this.c);

  final String a;
  final String b;
  final String c;
}

// Constructor with named parameters and key.
// This is how I would like Android Studio Auto Generate to behave.
class MyTestModelB {
  MyTestModelB({Key key, this.a, this.b, this.c}) : super(key: key);

  final String a;
  final String b;
  final String c;
}

所以用另一種方式來表達我的問題:

當我按“Command + N”並使用 Android Studio 自動生成我的 Dart 構造函數時。

目前 Android Studio 不會為我生成命名參數構造函數,也不會為構造函數添加鍵。

我想在某個地方,Android Studio 使用某種模板來自動生成這些構造函數。 我想我需要訪問該模板並對其進行修改以讓它為我自動生成命名參數構造函數,並添加密鑰。 但它在哪里?

我安裝的 Flutter/Dart/Android studio 比較新。 從 2020 年 4 月/5 月開始。

Cmd+N (MacOS) 的默認構造函數生成器不會生成命名參數構造函數。 您需要突出顯示您的最終變量之一(必須是最終變量),等待彈出窗口(參見視頻剪輯)和 select generate constructor from final field或按 alt+shift+enter。

好的,我不知道我的 Android Studio 發生了什么,但現在我可以生成想要的構造函數了。 一定是發生了什么事情? 也許某些東西已安裝或更新。 我不知道,如果您知道 Flutter 構造函數的自動生成設置在 Android Studio 中的確切位置。 我很想知道:這就是我的構造函數現在的樣子:

class Avatar extends StatelessWidget {
  final String photoUrl;
  final VoidCallback onPressed;
  const Avatar({Key key, this.photoUrl, this.onPressed}) : super(key: key);
}

如果您正在生成菜單中尋找“命名參數構造函數”選項,那么您應該安裝Dart 數據 Class插件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM