Feat/user script widget
Description
This MR introduces a widget to interact with user scripts in BEC. It provides a clean interface based on a QTreeWidget
with an embedded console and vscode widget for execution and editing scripts.
Related Issues
closes #393
Type of Change
- New Widget.
Potential side effects
While developing the widget, it became obvious that the general handling of scripts within BEC should be revisited. (A) How and where should scripts be executed. For the moment the widget executes scripts in its own BECConsole that is started. (B) The VSCodeEditor automatically saves files, which can get problematic for handling errors upon reloading the user scripts to update the UI. The usage of the update could be reviewed here. There were also a few occasions where reloading left the BEC client in a state which did not allow us to reload user scripts from within BEC. It seems to be linked with the namespace in the ipython client and 'forget_all_user_scripts()` method. Unfortunately, no reproducible way to trigger the problem could be established. (C) There is no proper monitoring for the execution of user scripts at the moment. At this point however, it is not yet clear whether this is responsibility of the UI or rather BEC client.
Definition of Done
A Short documentation was added.
-
Documentation is up-to-date.