Status Update
Comments
ar...@google.com <ar...@google.com>
sp...@google.com <sp...@google.com> #2
Is the problem reproducible for you in Studio Arctic Fox? I wasn't able to reproduce it.
lb...@gmail.com <lb...@gmail.com> #3
Android Studio Chipmunk | 2021.2.1 Canary 6
Build #AI-212.5457.46.2112.7968471, built on December 4, 2021
Runtime version: 11.0.12+7-b1504.28-7817840 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 4000M
Cores: 12
Registry: external.system.auto.import.disabled=true, debugger.watches.in.variables=false
Non-Bundled Plugins: com.intellij.marketplace (212.5457.65), Show As ... (1.0.3), com.dubreuia (2.3.0), String Manipulation (8.24.203.5981.1), com.google.mad-scorecard (1.2), net.aquadc.mike.plugin (0.19)
sp...@google.com <sp...@google.com> #4
I wasn't able to reproduce the problem with My Application.zip attached to
sp...@google.com <sp...@google.com> #5
If the problem is reproducible, what is the value of Gradle JDK in Settings?
lb...@gmail.com <lb...@gmail.com> #6
Show me what you've tried. Do exactly as on the video.
Also, I've noticed a different issue, that the mouse-back-key doesn't always go backward correctly on this project. Reported here:
Android Studio Bumblebee | 2021.1.1 Patch 2
Build #AI-211.7628.21.2111.8193401, built on February 17, 2022
Runtime version: 11.0.11+9-b60-7590822 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 8048M
Cores: 12
Registry: external.system.auto.import.disabled=true, ide.settings.move.mouse.on.default.button=true, debugger.watches.in.variables=false
Non-Bundled Plugins: GenerateSerialVersionUID (3.0.3), GenerateSerializationHelpers (1.0.6), Show As ... (1.0.3), com.dubreuia (2.2.0), com.github.beansoft.jadx.gui.idea (2021.2.1), com.intellij.marketplace (211.7628.36), String Manipulation (9.4.0), org.jetbrains.kotlin (211-1.6.10-release-923-AS7442.40), com.google.mad-scorecard (1.2), com.ppismerov.ksvu (0.0.1), net.aquadc.mike.plugin (0.21), izhangzhihao.rainbow.brackets (6.21), org.intellij.plugins.markdown (211.7142.37)
sp...@google.com <sp...@google.com> #7
I've finally noticed the difference between my and your actions. I was using Navigate > Declaration or Usages and you were invoking Navigate > Implementation(s). Navigate > Implementation(s) indeed doesn't navigate anywhere. I don't really know what "implementation" is supposed to mean for an Android resource, but the current behavior is clearly wrong.
lb...@gmail.com <lb...@gmail.com> #8
As for "usages", I prefer not to use it, because it often shows results that I don't want to see, and it puts them all at the top.
See for example the case of translated strings. I want to see the usages of a string, and instead I get to see all the translations of all languages, and only below it all I can see the real usages of it...
sp...@google.com <sp...@google.com>
lb...@gmail.com <lb...@gmail.com> #9
sp...@google.com <sp...@google.com> #10
I improved behavior of Navigate > Implementation(s) for resource references in R classes, but unfortunately the list of suggestions now contains two elements, one is the element in the R class under the cursor and another is the resource file. The first suggestion is pretty useless since it doesn't navigate anywhere, but I was not able to get rid of it because it is controlled by the Java plugin without a mechanism to inject any custom logic. I'll continue experimenting with it in an attempt to find a cleaner solution.
lb...@gmail.com <lb...@gmail.com> #11
sp...@google.com <sp...@google.com> #12
Re #11 This is what I'm trying to do, but it looks infeasible at this point without upstream changes.
lb...@gmail.com <lb...@gmail.com> #13
:(
sp...@google.com <sp...@google.com> #14
Figured out a way to make it navigate directly. Rejoyce.
sp...@google.com <sp...@google.com> #15
I wonder if it makes sense to flip the roles of Navigate > Declaration or Usages and Navigate > Implementation(s) for Android resources. This way Ctrl+B would navigate directly and Ctrl+Alt+B would display a list of locale-specific options. What is your opinion?
lb...@gmail.com <lb...@gmail.com> #16
As for shortcuts, I don't use a lot of the official shortcuts (too many keys, sometimes very far from one another, so I customized them) so please write their names instead.
What exactly did you do?
The declaration&implementation of a resource are the same, because they are both in the same place. Maybe when they exist in multiple places, you could offer to reach each of them (please prefer the main one, like English for translations, as the first item).
As you look currently at "R.layout.some_layout", there is no point in staying there when performing any kind of navigation.
Same for strings. Same for drawables....
sp...@google.com <sp...@google.com> #17
With the fix Navigate > Implementation(s) goes directly to the resource for the default configuration. Navigate > Declaration or Usages shows a list of resources with the same name if there are more than one. I got a feeling that it would be more logical if they behaved the other way around. What do you think?
lb...@gmail.com <lb...@gmail.com> #18
For "find usages", I just wish it would first show the usages (or scroll to them) in the list. Sadly it first shows the resources instead.
For example, when I want to see all usages of some string, it first shows me all the translations to the string, and only at the bottom of the list the actual usages of it.
It's very annoying because I don't at translations as often as I look at actual usages of something...
lb...@gmail.com <lb...@gmail.com> #19
sp...@google.com <sp...@google.com> #20
@18 The ordering of find usages is a separate issue. It is tracked by
sp...@google.com <sp...@google.com> #21
@19 Thank you for reminding me. My fix was for Java and Kotlin only. Doesn't work properly in XML yet.
lb...@gmail.com <lb...@gmail.com> #22
@21 I'm also not familiar with how Compose works, so maybe check there too.
sp...@google.com <sp...@google.com> #23
Dolphin Canary 8 contains the fix a for navigation from XML. Please let me know if you find any scenarios that are not working properly yet.
lb...@gmail.com <lb...@gmail.com> #24
sp...@google.com <sp...@google.com> #25
Yes.
lb...@gmail.com <lb...@gmail.com> #26
I choose it on a strings.xml file, and it lets me choose there from one item, and then doesn't do anything about it.
Granted it has less meaning there as "implementation", but still it provided a useless operation instead.
sp...@google.com <sp...@google.com> #27
Sorry, I made a mistake. The fix for the navigation from XML will be included in Dolphin Canary 9, not 8.
de...@google.com <de...@google.com> #28
Thank you for your patience while our engineering team worked to resolve this issue. A fix for this issue is now available in:
- Android Studio Dolphin Canary 9 (2021.3.1.9)
- Android Gradle Plugin 7.3.0-alpha09
We encourage you to try the latest update.
If you notice further issues or have questions, please file a new bug report.
Thank you for taking the time to submit feedback — we really appreciate it!
lb...@gmail.com <lb...@gmail.com> #29
The only difference is that instead of a context menu that navigates nowhere, nothing is shown.
sp...@google.com <sp...@google.com> #30
Could you please attach the xml file where the navigation starts and the xml file defining the resource. If you can attach a complete project, that would be even better.
lb...@gmail.com <lb...@gmail.com> #31
lb...@gmail.com <lb...@gmail.com> #32
I have a function in one of my projects, called "show". It is inside a "companion object" block on Kotlin.
There are also some strings that have comments with the word "show".
Using CTRL+mouse-left-click, it offers to reach the comment in the strings file, even though it's not related at all.
See attached for this case.
Sadly I failed to do it in POC. Only occurred on my project itself.
Android Studio Dolphin | 2021.3.1 Canary 9
Build #AI-213.7172.25.2113.8473230, built on April 19, 2022
Runtime version: 11.0.13+0-b1751.21-8125866 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 11 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 4000M
Cores: 12
Registry:
external.system.auto.import.disabled=true
debugger.watches.in.variables=false
ide.text.editor.with.preview.show.floating.toolbar=false
Non-Bundled Plugins:
com.intellij.marketplace (213.7172.31)
com.github.beansoft.jadx.gui.idea (2021.2.1)
com.dubreuia (2.3.0)
String Manipulation (9.4.0)
Show As ... (1.0.3)
com.google.mad-scorecard (1.2)
net.aquadc.mike.plugin (0.21)
sp...@google.com <sp...@google.com> #33
@31 I still don't understand what navigation in the app attached to
lb...@gmail.com <lb...@gmail.com> #34
This means that the attached project doesn't help to reproduce the issue. It's my attempt to reproduce it in a new project.
I've only succeeded in a real, existing project.
lb...@gmail.com <lb...@gmail.com> #35
lb...@gmail.com <lb...@gmail.com> #36
The original one still exists, as I wrote, and you can reproduce it easily, as on @6.
sp...@google.com <sp...@google.com> #37
@32 Using Dolphin Canary 8 I wasn't able to reproduce the behavior shown in studio64_OBgNml616C.mp4 using the project attached to
sp...@google.com <sp...@google.com> #38
Attached a recording of navigation working as expected.
sp...@google.com <sp...@google.com> #39
Could you please try File > Invalidate Caches to check if it changes anything.
lb...@gmail.com <lb...@gmail.com> #40
I tried to explain it to you on @32, @34, @35, @36.
It got reproduced on my app project. Not on the POC project I've attached there.
On the video you can see what it did. It went to a comment in strings file... It just doesn't make sense...
The logs are from this issue too. Not of the POC.
sp...@google.com <sp...@google.com> #41
I don't think any progress on the issue shown in studio64_OBgNml616C.mp4 is possible unless you can share a project that reproduces it.
lb...@gmail.com <lb...@gmail.com> #42
lb...@gmail.com <lb...@gmail.com> #43
That I copy the project, and try to remove tons of files there till only what's left is the issue?
sp...@google.com <sp...@google.com> #44
@43 Yes
lb...@gmail.com <lb...@gmail.com> #45
On the original project it still gets reproduce though.
There is a new Android Studio version available (Chipmunk), but as I've noticed at the office it has some serious issues so I had to go back to this version there.
Would you like me to update to the new version and see if it's there?
Android Studio Bumblebee | 2021.1.1 Patch 3
Build #AI-211.7628.21.2111.8309675, built on March 16, 2022
Runtime version: 11.0.11+9-b60-7590822 amd64
VM: OpenJDK 64-Bit Server VM by Oracle Corporation
Windows 10 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 4000M
Cores: 12
Registry: external.system.auto.import.disabled=true, ide.settings.move.mouse.on.default.button=true, debugger.watches.in.variables=false
Non-Bundled Plugins: Show As ... (1.0.3), com.dubreuia (2.2.0), com.intellij.marketplace (211.7628.36), String Manipulation (9.4.0), com.tabnine.TabNine (0.6.0), org.jetbrains.kotlin (211-1.6.21-release-334-AS7442.40), com.google.mad-scorecard (1.2), org.intellij.plugins.markdown (211.7142.37)
sp...@google.com <sp...@google.com> #46
What serious issues have you noticed in Chipmunk? Have you filed bugs for them? I may be able to help prioritize these issues if I knew what they are.
Description
Version of Gradle Plugin:
Version of Gradle:
Version of Java:
OS:
Android Studio 4.1 Canary 4
Build #AI-193.6494.35.41.6325121, built on March 24, 2020
Runtime version: 1.8.0_242-release-1644-b01 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
GC: ParNew, ConcurrentMarkSweep
Memory: 7964M
Cores: 12
Registry: ide.new.welcome.screen.force=true
Non-Bundled Plugins: String Manipulation, org.jetbrains.kotlin, com.longforus.kotlincodesorter, com.mistamek.drawablepreview.drawable-preview, ignaciotcrespo.github.com.vector-drawable-thumbnails, izhangzhihao.rainbow.brackets, org.intellij.plugins.markdown
Steps to Reproduce:
1. In Kotlin/Java, have some code that refers to a resource. Example:
setContentView(R.layout.activity_main)
2. Put the caret on the resource, and choose to go to "implementation".
The bug:
It shows you a popup menu of a single choice. Clicking on it doesn't do anything.
What I expect is that it will actually go to the "implementation" of the resource, meaning where it's defined.
For the layout file, go to the file itself.
If it was a string, allow to choose on which language to see it (first ones should be the base ones).
etc...