Skip to content

Improvement for Tree Explorer API #15485

@octref

Description

@octref

Umbrella issue for Tree Explorer API. Continuation of #12163

#14048 is a MVP that provides just enough functionalities for implementing a DB explorer. We decided to start minimal and evolve the API accordingly to feedback.

Here is a list of functionalities / questions that we should think about for future iterations.

Functionalities

  • Extension-initiated refresh (call resolveChildren again on a particular item)
  • Extension-initiated update to tree items (label, etc)
  • Icon (svg or png? should we allow remote icons? how this go with theming?)
  • Badge on Activity Bar
  • Reveal / Focus a tree item
  • Customized right click / context-menu

Questions

  • contributes.explorer currently only allows one explorer per extension. Should we allow multiple explorers per extension? Or should we allow more complex Viewlet contributions, such as multi-section Viewlets?
  • Should there be an user-defined, workspace config for which explorers to enable? (Would also solve the problem of ordering. Currently custom Viewlets are ordered by enabling sequences, and it's not easy to rearrange them if you have many Viewlets)
  • Should we add activation event for Viewlets, like a onLanguage:python Viewlet that only shows its icon if the language is Python?

Edit:

Functionalities

  • Contributable top bar (we only have refresh by default)

    image

Metadata

Metadata

Assignees

Labels

apifeature-requestRequest for new features or functionalitytree-viewsExtension tree view issues

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions