IntelliJ IDEA / Android Studio plugin with some tools and usability improvements
Plugin url : http://plugins.jetbrains.com/plugin/7405
Android Studio Plugin
License: GNU General Public License v2.0
IntelliJ IDEA / Android Studio plugin with some tools and usability improvements
Plugin url : http://plugins.jetbrains.com/plugin/7405
If multiple modules having the same layout name it is pointing to first module layout file can please solve this
View
java.lang.NoSuchFieldError: View
at de.espend.idea.android.linemarker.ViewInflateLineMarker.attachLineIcon(ViewInflateLineMarker.java:84)
at de.espend.idea.android.linemarker.ViewInflateLineMarker.attachFindViewByIdInflate(ViewInflateLineMarker.java:42)
at de.espend.idea.android.linemarker.ViewInflateLineMarker.collectSlowLineMarkers(ViewInflateLineMarker.java:33)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.queryProviders(LineMarkersPass.java:209)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.lambda$doCollectInformation$3(LineMarkersPass.java:116)
at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:80)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:103)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$1(PassExecutorService.java:437)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1137)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:430)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:429)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:405)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:143)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:218)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:403)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:170)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
if an element has an ID like "test_switch" in the xml layout, it gets generated as "R.id.testswitch" instead of "R.id.test_switch"
I am using MAC pc, And latest android studio, I have installed this plugin.
But that two options doesn't show me in my list.
Can you resolve this,plzz?
Hi,I got the project.It's good.But when I try to build in IDEA14.0, it said there isn't "icons.AndroidIcons" that in file "FragmentRelatedFileLineMarker".
Can you tell me how can I find "icons.AndroidIcons"?
Thanks for your job.
Android Studio Prettify threw an uncaught ArrayIndexOutOfBoundsException
https://cloud.githubusercontent.com/assets/12185015/18813873/e66943f2-833b-11e6-860f-3431a709053e.png
It seems use double click "shift" (search everywhere) cause this issue.
java.lang.ArrayIndexOutOfBoundsException: 1
at de.espend.idea.android.AndroidView.<init>(AndroidView.java:20)
at de.espend.idea.android.utils.AndroidUtils$1.visitElement(AndroidUtils.java:109)
at com.intellij.psi.XmlElementVisitor.visitXmlElement(XmlElementVisitor.java:22)
at com.intellij.psi.XmlElementVisitor.visitXmlTag(XmlElementVisitor.java:54)
at com.intellij.psi.impl.source.xml.XmlTagImpl.accept(XmlTagImpl.java:1017)
at com.intellij.psi.impl.source.tree.CompositePsiElement.acceptChildren(CompositePsiElement.java:80)
at com.intellij.psi.XmlRecursiveElementVisitor.visitElement(XmlRecursiveElementVisitor.java:37)
at de.espend.idea.android.utils.AndroidUtils$1.visitElement(AndroidUtils.java:98)
at com.intellij.psi.XmlElementVisitor.visitXmlElement(XmlElementVisitor.java:22)
at com.intellij.psi.XmlElementVisitor.visitXmlTag(XmlElementVisitor.java:54)
at com.intellij.psi.impl.source.xml.XmlTagImpl.accept(XmlTagImpl.java:1017)
at com.intellij.psi.impl.source.tree.CompositePsiElement.acceptChildren(CompositePsiElement.java:80)
at com.intellij.psi.XmlRecursiveElementVisitor.visitElement(XmlRecursiveElementVisitor.java:37)
at de.espend.idea.android.utils.AndroidUtils$1.visitElement(AndroidUtils.java:98)
at com.intellij.psi.XmlElementVisitor.visitXmlElement(XmlElementVisitor.java:22)
at com.intellij.psi.XmlElementVisitor.visitXmlDocument(XmlElementVisitor.java:42)
at com.intellij.psi.impl.source.xml.XmlDocumentImpl.accept(XmlDocumentImpl.java:90)
at com.intellij.psi.impl.source.tree.SharedImplUtil.acceptChildren(SharedImplUtil.java:196)
at com.intellij.psi.impl.source.PsiFileImpl.acceptChildren(PsiFileImpl.java:779)
at com.intellij.psi.XmlRecursiveElementVisitor.visitElement(XmlRecursiveElementVisitor.java:37)
at de.espend.idea.android.utils.AndroidUtils$1.visitElement(AndroidUtils.java:98)
at com.intellij.psi.PsiElementVisitor.visitFile(PsiElementVisitor.java:34)
at com.intellij.psi.XmlRecursiveElementVisitor.visitFile(XmlRecursiveElementVisitor.java:55)
at com.intellij.psi.XmlElementVisitor.visitXmlFile(XmlElementVisitor.java:26)
at com.intellij.psi.impl.source.xml.XmlFileImpl.accept(XmlFileImpl.java:71)
at de.espend.idea.android.utils.AndroidUtils.getIDsFromXML(AndroidUtils.java:95)
at de.espend.idea.android.utils.AndroidUtils.getViewType(AndroidUtils.java:123)
at de.espend.idea.android.utils.AndroidViewUtil.getAndroidView(AndroidViewUtil.java:92)
at de.espend.idea.android.linemarker.ViewInflateLineMarker.attachFindViewByIdInflate(ViewInflateLineMarker.java:40)
at de.espend.idea.android.linemarker.ViewInflateLineMarker.collectSlowLineMarkers(ViewInflateLineMarker.java:33)
at com.intellij.codeInsight.daemon.impl.SlowLineMarkersPass.addLineMarkers(SlowLineMarkersPass.java:78)
at com.intellij.codeInsight.daemon.impl.SlowLineMarkersPass.doCollectInformation(SlowLineMarkersPass.java:65)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:67)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:444)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1103)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:435)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:452)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:402)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:432)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:408)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask.exec(JobLauncherImpl.java:189)
at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:109)
java.lang.ArrayIndexOutOfBoundsException: 1
at de.espend.idea.android.AndroidView.<init>(AndroidView.java:20)
at de.espend.idea.android.utils.AndroidUtils$1.visitElement(AndroidUtils.java:109)
at com.intellij.psi.XmlElementVisitor.visitXmlElement(XmlElementVisitor.java:22)
at com.intellij.psi.XmlElementVisitor.visitXmlTag(XmlElementVisitor.java:54)
at com.intellij.psi.impl.source.xml.XmlTagImpl.accept(XmlTagImpl.java:1017)
at com.intellij.psi.impl.source.tree.CompositePsiElement.acceptChildren(CompositePsiElement.java:80)
at com.intellij.psi.XmlRecursiveElementVisitor.visitElement(XmlRecursiveElementVisitor.java:37)
at de.espend.idea.android.utils.AndroidUtils$1.visitElement(AndroidUtils.java:98)
at com.intellij.psi.XmlElementVisitor.visitXmlElement(XmlElementVisitor.java:22)
at com.intellij.psi.XmlElementVisitor.visitXmlTag(XmlElementVisitor.java:54)
at com.intellij.psi.impl.source.xml.XmlTagImpl.accept(XmlTagImpl.java:1017)
at com.intellij.psi.impl.source.tree.CompositePsiElement.acceptChildren(CompositePsiElement.java:80)
at com.intellij.psi.XmlRecursiveElementVisitor.visitElement(XmlRecursiveElementVisitor.java:37)
at de.espend.idea.android.utils.AndroidUtils$1.visitElement(AndroidUtils.java:98)
at com.intellij.psi.XmlElementVisitor.visitXmlElement(XmlElementVisitor.java:22)
at com.intellij.psi.XmlElementVisitor.visitXmlDocument(XmlElementVisitor.java:42)
at com.intellij.psi.impl.source.xml.XmlDocumentImpl.accept(XmlDocumentImpl.java:90)
at com.intellij.psi.impl.source.tree.SharedImplUtil.acceptChildren(SharedImplUtil.java:196)
at com.intellij.psi.impl.source.PsiFileImpl.acceptChildren(PsiFileImpl.java:779)
at com.intellij.psi.XmlRecursiveElementVisitor.visitElement(XmlRecursiveElementVisitor.java:37)
at de.espend.idea.android.utils.AndroidUtils$1.visitElement(AndroidUtils.java:98)
at com.intellij.psi.PsiElementVisitor.visitFile(PsiElementVisitor.java:34)
at com.intellij.psi.XmlRecursiveElementVisitor.visitFile(XmlRecursiveElementVisitor.java:55)
at com.intellij.psi.XmlElementVisitor.visitXmlFile(XmlElementVisitor.java:26)
at com.intellij.psi.impl.source.xml.XmlFileImpl.accept(XmlFileImpl.java:71)
at de.espend.idea.android.utils.AndroidUtils.getIDsFromXML(AndroidUtils.java:95)
at de.espend.idea.android.utils.AndroidUtils.getViewType(AndroidUtils.java:123)
at de.espend.idea.android.utils.AndroidViewUtil.getAndroidView(AndroidViewUtil.java:92)
at de.espend.idea.android.linemarker.ViewInflateLineMarker.attachFindViewByIdInflate(ViewInflateLineMarker.java:40)
at de.espend.idea.android.linemarker.ViewInflateLineMarker.collectSlowLineMarkers(ViewInflateLineMarker.java:33)
at com.intellij.codeInsight.daemon.impl.SlowLineMarkersPass.addLineMarkers(SlowLineMarkersPass.java:78)
at com.intellij.codeInsight.daemon.impl.SlowLineMarkersPass.doCollectInformation(SlowLineMarkersPass.java:65)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:67)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:444)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1103)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:435)
at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:452)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:402)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:432)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:408)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask.exec(JobLauncherImpl.java:189)
at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:109)
In my shortcut (cmd + n) view, there is no View Variables and View Fields item.
A long time ago,I use findViewById method in a mess.In other words,I hate the method.I want to create a plugin to solve the problem,I don't stop coding util seek your project.It's exciting to me,there exists a lot of
exchange,However,your project guide me.Sadly it's limit,int my vision,it's limit and not customizable.For example,the fieldName is not suitable to our code style.I want to pull request to the project.Please forgive my poor English.My emal:[email protected].
Hey, I just found a small bug in your plugin:
If you include a layout with <include>
, and then you generate the view fields you get a
private android.widget.include layout;
Which is, of course, incorect...
I love your plugin though! 👏 😄
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.