xdd666t / getx_template Goto Github PK
View Code? Open in Web Editor NEWUsed to generate the template code of GetX framework | Flutter GetX模板代码生成(一个有用的IDEA插件)
License: Apache License 2.0
Used to generate the template code of GetX framework | Flutter GetX模板代码生成(一个有用的IDEA插件)
License: Apache License 2.0
M1版本的电脑安装了3.2.6版本插件,无法使用自动生成代码功能,点击ok没反应,自动包裹widget也不起作用
如果变量不在 build函数里 在类里 构造器就不能为const 这会导致widget不能在IndexedStack中保持状态
有没有选项来选择变量放在什么位置?
新建项目默认只有 flutter_lints
没有 lint
,这种情况下希望仅处理 flutter_lints
相关的警告(key
),不用管未启用的 lint
相关的警告(声明可以自动推导的类型)。
不知道能不能自动分析 pubspec.yaml
确认启用了哪些规则,能的话自动调整行为感觉会更方便,或者简单拆成俩选项也行。
新建的页面为什么不直接 extends GetView 而是 extends StatelessWidget
class SetAvatarLogic extends GetxController {
final state = SetAvatarState();
File selectedFile;
Future getImage(bool isTakingPhoto) async {
Navigator.pop(Get.context);
var image = await ImagePicker.pickImage(
source: isTakingPhoto ? ImageSource.camera : ImageSource.gallery);
if (image != null) {
selectedFile = File(image.path);
}
return image;
}
}
class SetAvatarPageextends StatelessWidget {
final SetAvatarLogic logic = Get.put(SetAvatarLogic());
..........
//下面这段肯定是错的,我不知道该怎么写
child: Obx(() {
return Image(
image: logic.selectedFile == null
? AssetImage("assets/tab_session_pressed.png")
: FileImage(logic.selectedFile));
}),```
能不能提供一下文件名命名的功能,比如我的index目录下面是logic.dart,view.dart 能不能有名字是index_logic.dart,index_view.dart这样子配置,不然太乱了
如题
由
Obx(() {
return _buildIDBehindView();
}),
改成如下间接方式
Obx(() => _buildIDAboveView()),
有什么办法能让页面刷新吗?或者重新走一遍生命周期?
需求是关掉当前页,刷新前一页。
谢谢。
Hello, this is nice work.. And for me for fan of GetX this plugin can be very usable.
But I see that you are making you comment your code or commits in nonenglish language.
But some programmers which can make some contributes are from different country then you and doesn't understand your language. So it is a good practice make any comments in code in english language which is universal simple language used everywhere any programmers around the world.. ;) :)
And it is also consistent because in all your code everywhere will be used only one language which is understandable for any programmer.. ;)
如题
您好 使用模板新建之后
final logic = Get.find()(); 会提示find过时 切在route路由调用getpage的时候会提示找不到find,求解,用的最新版3.2.6
用着很舒服,用了很久了你这个库,最近编译器换了,可以支持一下vs的插件吗
我试了下 用 Obx
不会自动销毁控制器
GetBuilder
参数 assignId
为true
时才会自动销毁
Obx
必须勾选 autoDispose
用 StatefulWidget
才能自动销毁吗?
vscode可以用吗
1 新建页面 widget类名,dart文件名,文件夹名,后缀为: XXXPage。
2 新建组件 widget类名,dart文件名,文件夹名,后缀为: XXXComponent。
ps:名字后缀可不能不适用每个人,建议可以留有自定义功能。
TabController tabController = TabController(length: 2, vsync: null);
请问这个vsync应该怎么写?
Exceptions occurred on invoking the intention 'Wrap with GetBuilder' on a copy of the file.
java.lang.IllegalStateException: Must not start write action from within read action in the other thread - deadlock is coming
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.run(WriteCommandAction.java:118)
at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:360)
at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:348)
at intention_action.WrapWithAction.invoke(WrapWithAction.kt:41)
at com.intellij.codeInsight.intention.PsiElementBaseIntentionAction.invoke(PsiElementBaseIntentionAction.java:41)
at com.intellij.codeInsight.intention.impl.config.IntentionActionWrapper.invoke(IntentionActionWrapper.java:77)
at com.intellij.codeInsight.intention.impl.IntentionActionWithTextCaching$MyIntentionAction.lambda$invoke$0(IntentionActionWithTextCaching.java:223)
at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:194)
at com.intellij.codeInsight.intention.impl.IntentionActionWithTextCaching$MyIntentionAction.invoke(IntentionActionWithTextCaching.java:223)
at com.intellij.codeInsight.intention.impl.preview.IntentionPreviewComputable.generateFallbackDiff$lambda$6$lambda$5(IntentionPreviewComputable.kt:178)
at com.intellij.psi.impl.source.PostprocessReformattingAspect.lambda$postponeFormattingInside$2(PostprocessReformattingAspect.java:140)
at com.intellij.psi.impl.source.PostprocessReformattingAspect.postponeFormattingInside(PostprocessReformattingAspect.java:148)
at com.intellij.psi.impl.source.PostprocessReformattingAspect.postponeFormattingInside(PostprocessReformattingAspect.java:139)
at com.intellij.codeInsight.intention.impl.preview.IntentionPreviewComputable.generateFallbackDiff$lambda$6(IntentionPreviewComputable.kt:178)
at com.intellij.codeInsight.intention.preview.IntentionPreviewUtils.previewSession(IntentionPreviewUtils.java:97)
at com.intellij.codeInsight.intention.impl.preview.IntentionPreviewComputable.generateFallbackDiff(IntentionPreviewComputable.kt:176)
at com.intellij.codeInsight.intention.impl.preview.IntentionPreviewComputable.invokePreview$lambda$4(IntentionPreviewComputable.kt:126)
at com.intellij.model.SideEffectGuard.computeWithAllowedSideEffects(SideEffectGuard.java:25)
at com.intellij.model.SideEffectGuard.computeWithoutSideEffects(SideEffectGuard.java:18)
at com.intellij.codeInsight.intention.impl.preview.IntentionPreviewComputable.invokePreview(IntentionPreviewComputable.kt:126)
at com.intellij.codeInsight.intention.impl.preview.IntentionPreviewComputable.generatePreview(IntentionPreviewComputable.kt:88)
at com.intellij.codeInsight.intention.impl.preview.IntentionPreviewComputable.tryCreateDiffContent(IntentionPreviewComputable.kt:64)
at com.intellij.codeInsight.intention.impl.preview.IntentionPreviewComputable.call(IntentionPreviewComputable.kt:42)
at com.intellij.codeInsight.intention.impl.preview.IntentionPreviewComputable.call(IntentionPreviewComputable.kt:37)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor.callWrapped(NonBlockingReadActionImpl.java:746)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$OTelMonitor$MonitoredComputation.call(NonBlockingReadActionImpl.java:778)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.insideReadAction(NonBlockingReadActionImpl.java:573)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$attemptComputation$3(NonBlockingReadActionImpl.java:537)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1102)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runInReadActionWithWriteActionPriority$0(ProgressIndicatorUtils.java:72)
at com.intellij.openapi.progress.util.ProgressIndicatorUtilService.runActionAndCancelBeforeWrite(ProgressIndicatorUtilService.java:63)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runActionAndCancelBeforeWrite(ProgressIndicatorUtils.java:129)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.lambda$runWithWriteActionPriority$1(ProgressIndicatorUtils.java:110)
at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$1(ProgressManager.java:70)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:186)
at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$13(CoreProgressManager.java:604)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:679)
at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:635)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:603)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:60)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:173)
at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:70)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runWithWriteActionPriority(ProgressIndicatorUtils.java:107)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.runInReadActionWithWriteActionPriority(ProgressIndicatorUtils.java:72)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.attemptComputation(NonBlockingReadActionImpl.java:537)
at com.intellij.openapi.application.impl.NonBlockingReadActionImpl$Submission.lambda$transferToBgThread$1(NonBlockingReadActionImpl.java:444)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
at java.base/java.lang.Thread.run(Thread.java:833)
牛逼啊老哥,这个wrap插件效率就嘎嘎的提高
TabBarView(
controller: _tabController,
children: [
Page(text:1),
Page(text:2),
Page(text:3),
],
)
想请教一下getx如何通过构造函数设置参数,或者有什么等效的方法
@CNAD666
希望有個選項,可以增加binding
文件
如题
Android studio3.6.3 插件安装无法使用
第一次正常使用,第二次再new就不出来了,报错java.lang.NullPointerException at NewGetx,actionPerformed(NewGetX.java:37)
t com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:281)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:310)
at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:286)
at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:77)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:299)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:110)
at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:95)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:110)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:401)
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
at java.desktop/com.apple.laf.ScreenMenuItemCheckbox.itemStateChanged(ScreenMenuItemCheckbox.java:198)
at java.desktop/java.awt.CheckboxMenuItem.processItemEvent(CheckboxMenuItem.java:396)
at java.desktop/java.awt.CheckboxMenuItem.processEvent(CheckboxMenuItem.java:364)
at java.desktop/java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:375)
at java.desktop/java.awt.MenuComponent.dispatchEvent(MenuComponent.java:363)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:781)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:976)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:843)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:454)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:773)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:453)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:822)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:507)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
这两天想迁移到GetX,从Getx项目链接过来的,看到文档的开头我有点不解:
When using Bloc, there is a problem that I have been very concerned about so far, it is impossible to truly cross- page interaction! After repeatedly consulting official documents, a global Bloc method was used to achieve "pseudo" cross- page interaction.
为什么说Bloc无法做夸页面交互,文档中的final JumpOneLogic logic = Get.put(JumpOneLogic());
和 final JumpTwoLogic twoLogic = Get.put(JumpTwoLogic());
不就是等价于两个局部的BlocProvider吗,Bloc自身就使用Provider库作为依赖管理,应该是能实现文档中跨页面交互的需求,而不需要使用全局路由。当然,GetX能提供更清晰易用的依赖管理倒是真的。
选中文件夹后,右击=》new =>getX studio报错,提示
java.lang.NullPointerException
at com.android.tools.idea.diagnostics.AndroidStudioSystemHealthMonitor.getActionName(AndroidStudioSystemHealthMonitor.java:962)
at com.android.tools.idea.diagnostics.AndroidStudioSystemHealthMonitor.countActionInvocation(AndroidStudioSystemHealthMonitor.java:856)
at com.android.tools.idea.diagnostics.AndroidStudioSystemHealthMonitor$6.countActionInvocation(AndroidStudioSystemHealthMonitor.java:472)
at com.intellij.ide.AndroidStudioSystemHealthMonitorAdapter.countActionInvocation(AndroidStudioSystemHealthMonitorAdapter.java:31)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.fireBeforeActionPerformed(ActionManagerImpl.java:1255)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:290)
at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:265)
at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:107)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:282)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:111)
at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:82)
at com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransaction$1(TransactionGuardImpl.java:106)
at com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:115)
at com.intellij.openapi.application.TransactionGuard.submitTransaction(TransactionGuard.java:121)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:111)
at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:524)
at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:35)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:546)
at java.awt.Component.processMouseEvent(Component.java:6550)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3325)
at java.awt.Component.processEvent(Component.java:6315)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4899)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4721)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4721)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:766)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:739)
at java.awt.EventQueue$4.run(EventQueue.java:737)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:736)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:878)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:823)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:466)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:704)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:465)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
於main import 档案
import 'widgets/l_drawer/l_drawer_view.dart';
终端报错
The following message was thrown building _FocusMarker:
"LDrawerLogic" not found. You need to call "Get.put(LDrawerLogic())" or "Get.lazyPut(()=>LDrawerLogic())"
getx-snippets-intelliJ貌似好久没有更新了。新版本的AndroidStudio 2020.3.1装不了getx-snippets-intelliJ。看到getx_template支持快捷方法后立马换了getx_template,但是感觉getx_template的快捷代码生成不是很多(getx-snippets-intelliJ原本的快捷代码生成也不多),希望能和VScode版本的getx_snippets_extension一样支持更多的快捷代码生成方法
getx_snippets_extension的快捷代码生成是json格式的,似乎有区别。。
像Logic一样支持自定义。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.