Bug 165785 - Object browser for BASIC IDE
Summary: Object browser for BASIC IDE
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: BASIC (show other bugs)
Version:
(earliest affected)
unspecified
Hardware: All All
: medium enhancement
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: BASIC-IDE
  Show dependency treegraph
 
Reported: 2025-03-17 14:04 UTC by Hossein
Modified: 2025-03-24 14:25 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hossein 2025-03-17 14:04:06 UTC
Description:
Object browser is one of the features that script writers have requested for a while.

For example in tdf#66185:
(In reply to Bubble from bug 66185  comment #8)
> VBA features: AutoComplete, Object browser, and auto change upper/lower-case
> are three features I pining for.

Users should be able to see all the available objects, both in globals, and also in other libraries. This is helpful for the script writers as they can understand what is available for coding.

Please note that this is different from:

* Object catalog, available as a sidebar in BASIC IDE editor
* Developer tools, available from "Tools > Development Tools".

A similar feature is available in MS VBA editor, which shows ~1000 modules alongside their members. Categorization is very helpful.

VBA > Object Browser
https://learn.microsoft.com/en-us/office/vba/language/reference/user-interface-help/object-browser

In a LibreOffice BASIC object browser implementation, one should be able to see:

* All the available globals, categorized by <globals>
* All the other available objects, and their members

Objects should be provided as a list, and respective members as a second level list. At the bottom you should be able to see the usage. One should be able to see at least these in the list of objects:

* Modules
* Classes
* Enums

And these in the list of members:

* Property
* Sub
* Function
* Const

For example, you should be able to see "MsgBox" as a member of <globals>.

This could be helpful:
MsgBox (Prompt As String [,Buttons = MB_OK [,Title As String]]) As Integer

MsgBox Function
https://help.libreoffice.org/latest/en-US/text/sbasic/shared/03010102.html?DbPAR=BASIC

MSO has these libraries: "Normal, Office, stdole, VBA, Word". "MsgBox" is a member inside "Interaction" class, and is also available in "<globals>".

Search functionality is helpful, and that would a plus.
Comment 1 Olivier Hallot 2025-03-24 14:25:00 UTC
This issue was partially addressed long time ago.

Enable "Advanced features" in the Options and you will get a new entry named BASIC IDE.

Several options demanded are there but it needs more development.

At least it's a start.

https://opengrok.libreoffice.org/xref/core/cui/uiconfig/ui/optbasicidepage.ui