-
Notifications
You must be signed in to change notification settings - Fork 211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Symbols view should nest elements by their surrounding scope #1431
Comments
There is bit of groundwork necessary to fully materialize this on the UI side, but the groundwork is already underway. I hope for the hierarchical view of symbols to appear in the outline view of VSCode as the first step (probably for the |
@odrotbohm How should the hierarchical structure look like for something like this? @Configuration
class MyConfig {
@Bean
@ConditionalOnClass("some.ClassA")
public MyBean myBean(@Qualifier("qualifier1") DataSource datasource) {
...
}
} It seems to me like:
Where should the What do you think? |
… AbstractSymbolProvider GH-1431: changed indexing of components to index embedded components like bean methods, request mappings, etc. GH-1431: added new tests for index structure Signed-off-by: Martin Lippert <[email protected]>
@odrotbohm There is a (very specific) way to play around with early steps here.
Then, you can restart VSCode and import your project. The new hierarchical structure will then show up for one file only in the outline section under the You could imagine that the separate structural view would then show the project perspective, but below the project nodes for each file (the tree structure that you see in the outline view). This is very early days and it needs a lot of polishing and improvements on various levels. But feel free to give it a try and report back what you stumble upon, what should be incorporated into the structure, what is missing, how to display it differently, etc. At the moment the exact label for each node is more or less what we also create for the workspace symbols, but I assume that those structural view nodes should get their own, slightly different label over time. |
One more thing: There is a setting for directing the log output of the language server to a log file. Would be great to set that, just in case something goes wrong. The log output might help in that case. |
Can you elaborate where I would find this? What does "the tree" refer to here? In the Spring Boot Dashboard view I only see the sections "Apps", "Beans", and "Endpoint Mappings". |
Never mind. Found it. |
This looks nice already. A few things that caught my eye:
|
How do you identify a query method and distinguish such a method from another, non-query method? Can you point me to the code in Spring Data that identifies query methods? That way, I could mimic that logic inside the tools.
Will take a look.
Will look into this as well. Thanks a lot for the early feedback, very much appreciated. Feel free to add more thoughts here anytime. |
This comes from the |
For a Spring MVC controller class like this:
the Spring Symbols view creates multiple top-level entries:
/path
It would be nice if the elements were nested inside each other. The parameter annotation as a nested node underneath the method, that in turn underneath the bean etc. Otherwise (and currently) you might end up with a gazillion of
@RequestParam
list entries that – without that contextual information – are not really helpful on their own.The text was updated successfully, but these errors were encountered: