从 UI 布局中提取 Flutter 小部件的快捷方式

Sur*_*gch 17 widget intellij-idea android-studio flutter

如果我有一个想要简化的复杂布局,Android Studio(或 IntelliJ)中将小部件提取到方法中的快捷方式是什么?

例子:

我想提取堆栈中的三个主要小部件。

class BodyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Stack(
      children: <Widget>[
        Container(
          decoration: BoxDecoration(
            image: DecorationImage(
              image: AssetImage('assets/image.jpg'),
              fit: BoxFit.cover,
            ),
          ),
        ),
        Align(
          alignment: Alignment(-0.7, -0.7),
          child: Container(
            height: 300,
            child: RichText(
              text: TextSpan(
                text: 'My text',
                style: TextStyle(
                  color: Colors.white70,
                  fontSize: 30,
                ),
              ),
            ),
          ),
        ),
        Align(
          alignment: Alignment.bottomCenter,
          child: Text(
            'Some other text',
            style: TextStyle(
              color: Colors.white70,
              fontSize: 20.0,
              fontWeight: FontWeight.w900,
              letterSpacing: 5.0,
            ),
          ),
        ),
      ],
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以手动完成,但我正在寻找捷径。

Sur*_*gch 37

我正在为 Android Studio 和 VS Code 更新这个答案

安卓工作室

方法一

快捷键:

  • 在Windows / Linux的:戴上小部件名称光标,按Ctrl+ Alt+M把它作为提取方法或Ctrl+ Alt+W将其提取物作为一个小部件。
  • MacOS的:将光标放在小部件的名称,然后按Option+ Command+M把它作为提取方法或Option+ Command+W将其提取物作为一个小部件。

您也可以通过右键单击小部件名称并从上下文菜单中选择Refactor > Extract来完成相同的操作。

方法二

您还可以从 Flutter Outline 菜单中将小部件提取到方法或新小部件中。

  1. 点击左上角的Flutter Outline
  2. 在大纲中选择小部件
  3. 右键单击并选择提取方法...提取小部件...
  4. 给它一个名字

在此处输入图片说明

视觉工作室代码

把光标放在窗口小部件名称,然后按Command+.或在Mac上Ctrl+ .PC上。然后从上下文菜单中选择方法小部件

  • 如果 flutter Outline 不显示 widget 树,您必须:`Ctrl`(或 `⌘ command` macOS)并单击任何 widget,或者按 Dart Analysis 中的重新加载图标。信息取自[Flutter Outline在android studio中显示“Nothing to show”](/sf/ask/4218772631/) (2认同)

ibh*_*ana 20

要提取扑的特定代码在Android的工作室varialbeconstantmethod,或作为Widget

1. 选择要提取的代码块。

在此处输入图片说明

2. 右键单击​​ -> 重构 -> 提取 -> 选择所需的重构类型。

在此处输入图片说明

Shortcuts 根据您的 Android Studio 配置而有所不同,但快捷方式也写在那里,可以简化您的任务。


Rod*_*voi 11

就我而言,Ctrl+Alt+WAndroid Studio 中的热键不起作用。要修复它,只需打开键盘映射设置并重新设置此热键 - Android Studio 将删除冲突的快捷方式,然后它就可以工作了。


Mic*_*hal 5

要修复 Kotlin 快捷方式覆盖“提取新窗口小部件”命令的问题,请转到“首选项 > 键盘映射”并搜索“运行暂存文件”。右键单击并删除 Kotlin 快捷方式。