Code Monkey home page Code Monkey logo

flutter_arb_action's Introduction

Flutter Arb Action

Plugin for IntelliJ-based IDEs (Android Studio).

Table of contents

Core features

  • Detects arb file based on l10n.yaml file
  • Moves strings to arb file
  • Supports interpolated string
  • Simple completion system based on currently entered keys in arb file
  • Compatibility

    IntelliJ IDEA, Android Studio

    Install

    Or you could install it inside your IDE:

    For Windows & Linux - File > Settings > Plugins > Marketplace > Search for "Flutter_arb_action" > Install Plugin > Restart IntelliJ IDEA

    For Mac - IntelliJ IDEA > Preferences > Plugins > Marketplace > Search for "Flutter_arb_action" > Install Plugin > Restart IntelliJ IDEA

    Screenshots

    Extension

    extension

    Settings

    settings

    Quick Fixes for String

    quick_fixes

    Move to arb dialog

    dialog

    dialog_completion

    Results

    dart_file

    dart_file

    flutter_arb_action's People

    Contributors

    betterb0y avatar pawelsa avatar

    Stargazers

     avatar

    Watchers

     avatar  avatar

    Forkers

    mattiapell

    flutter_arb_action's Issues

    Error while import statement list is empty

    Add support for part of files

    java.util.NoSuchElementException: List is empty.
    at kotlin.collections.CollectionsKt___CollectionsKt.last(_Collections.kt:418)
    at pl.digsa.flutter_arb_action.ReplaceStringWithTranslationIntention$addImport$1.invoke(ReplaceStringWithTranslationIntention.kt:138)
    at pl.digsa.flutter_arb_action.ReplaceStringWithTranslationIntention$addImport$1.invoke(ReplaceStringWithTranslationIntention.kt:133)
    at pl.digsa.flutter_arb_action.ExtensionsKt.writeFile$lambda$1(extensions.kt:29)
    at com.intellij.openapi.command.WriteCommandAction.lambda$runWriteCommandAction$4(WriteCommandAction.java:362)
    at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$1(WriteCommandAction.java:150)
    at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:980)
    at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$2(WriteCommandAction.java:148)
    at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:210)
    at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:184)
    at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.doRunWriteCommandAction(WriteCommandAction.java:157)
    at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.run(WriteCommandAction.java:124)
    at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:362)
    at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:350)
    at pl.digsa.flutter_arb_action.ExtensionsKt.writeFile(extensions.kt:29)
    at pl.digsa.flutter_arb_action.ReplaceStringWithTranslationIntention.addImport(ReplaceStringWithTranslationIntention.kt:133)
    at pl.digsa.flutter_arb_action.ReplaceStringWithTranslationIntention.invoke(ReplaceStringWithTranslationIntention.kt:56)
    at com.intellij.codeInsight.intention.PsiElementBaseIntentionAction.invoke(PsiElementBaseIntentionAction.java:41)
    at com.intellij.codeInsight.intention.impl.config.IntentionActionWrapper.invoke(IntentionActionWrapper.java:86)
    at com.intellij.codeInsight.intention.impl.IntentionActionWithTextCaching$MyIntentionAction.lambda$invoke$0(IntentionActionWithTextCaching.java:224)
    at com.intellij.util.SlowOperations.allowSlowOperations(SlowOperations.java:167)
    at com.intellij.codeInsight.intention.impl.IntentionActionWithTextCaching$MyIntentionAction.invoke(IntentionActionWithTextCaching.java:224)
    at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler.invokeIntention(ShowIntentionActionsHandler.java:259)
    at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler.lambda$chooseActionAndInvoke$4(ShowIntentionActionsHandler.java:231)
    at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:219)
    at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:174)
    at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:164)
    at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:150)
    at com.intellij.codeInsight.intention.impl.ShowIntentionActionsHandler.chooseActionAndInvoke(ShowIntentionActionsHandler.java:230)
    at com.intellij.codeInsight.intention.impl.IntentionListStep.chooseActionAndInvoke(IntentionListStep.java:140)
    at com.intellij.codeInsight.intention.impl.IntentionListStep.lambda$applyAction$3(IntentionListStep.java:132)
    at com.intellij.ui.popup.AbstractPopup.lambda$dispose$17(AbstractPopup.java:1585)
    at com.intellij.openapi.wm.impl.FocusManagerImpl.lambda$doWhenFocusSettlesDown$3(FocusManagerImpl.java:173)
    at com.intellij.util.ui.EdtInvocationManager.invokeLaterIfNeeded(EdtInvocationManager.java:33)
    at com.intellij.ide.IdeEventQueue.ifFocusEventsInTheQueue(IdeEventQueue.java:176)
    at com.intellij.ide.IdeEventQueue.executeWhenAllFocusEventsLeftTheQueue(IdeEventQueue.java:129)
    at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:169)
    at com.intellij.openapi.wm.impl.FocusManagerImpl.doWhenFocusSettlesDown(FocusManagerImpl.java:163)
    at com.intellij.ui.popup.AbstractPopup.dispose(AbstractPopup.java:1583)
    at com.intellij.ui.popup.WizardPopup.dispose(WizardPopup.java:165)
    at com.intellij.ui.popup.list.ListPopupImpl.dispose(ListPopupImpl.java:377)
    at com.intellij.openapi.util.ObjectTree.runWithTrace(ObjectTree.java:127)
    at com.intellij.openapi.util.ObjectTree.executeAll(ObjectTree.java:159)
    at com.intellij.openapi.util.Disposer.dispose(Disposer.java:243)
    at com.intellij.openapi.util.Disposer.dispose(Disposer.java:231)
    at com.intellij.ui.popup.WizardPopup.disposeAllParents(WizardPopup.java:273)
    at com.intellij.ui.popup.list.ListPopupImpl.disposePopup(ListPopupImpl.java:470)
    at com.intellij.ui.popup.list.ListPopupImpl.handleNextStep(ListPopupImpl.java:497)
    at com.intellij.ui.popup.list.ListPopupImpl._handleSelect(ListPopupImpl.java:464)
    at com.intellij.ui.popup.list.ListPopupImpl.handleSelect(ListPopupImpl.java:407)
    at com.intellij.ui.popup.list.ListPopupImpl$1.actionPerformed(ListPopupImpl.java:274)
    at com.intellij.ui.popup.WizardPopup.proceedKeyEvent(WizardPopup.java:396)
    at com.intellij.ui.popup.WizardPopup.dispatch(WizardPopup.java:372)
    at com.intellij.ui.popup.PopupDispatcher.dispatchKeyEvent(PopupDispatcher.java:112)
    at com.intellij.ui.popup.PopupDispatcher.dispatch(PopupDispatcher.java:148)
    at com.intellij.ide.IdePopupManager.dispatch(IdePopupManager.java:109)
    at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:720)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$5(IdeEventQueue.java:437)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:787)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:436)
    at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:113)
    at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:615)
    at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:434)
    at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:838)
    at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:480)
    at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
    at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

    Recommend Projects

    • React photo React

      A declarative, efficient, and flexible JavaScript library for building user interfaces.

    • Vue.js photo Vue.js

      ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

    • Typescript photo Typescript

      TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    • TensorFlow photo TensorFlow

      An Open Source Machine Learning Framework for Everyone

    • Django photo Django

      The Web framework for perfectionists with deadlines.

    • D3 photo D3

      Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

    Recommend Topics

    • javascript

      JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

    • web

      Some thing interesting about web. New door for the world.

    • server

      A server is a program made to process requests and deliver data to clients.

    • Machine learning

      Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

    • Game

      Some thing interesting about game, make everyone happy.

    Recommend Org

    • Facebook photo Facebook

      We are working to build community through open source technology. NB: members must have two-factor auth.

    • Microsoft photo Microsoft

      Open source projects and samples from Microsoft.

    • Google photo Google

      Google โค๏ธ Open Source for everyone.

    • D3 photo D3

      Data-Driven Documents codes.