I'm happy to release a new BETA version of B4A. The integrated code bundle tool is now available in B4A (and B4J).
Code Bundle is a tool that packs your project together with additional relevant information into a single json file, that can be provided to AI assistants for debugging, learning, refactoring and other tasks.
The bundle is created with a click of a button (Ctrl + R). The bundle includes:
- Click on Ctrl + R. A json file will be created and copied to the clipboard. Paste into the AI assistant and ask questions.
Other improvements:
Code Bundle is a tool that packs your project together with additional relevant information into a single json file, that can be provided to AI assistants for debugging, learning, refactoring and other tasks.
The bundle is created with a click of a button (Ctrl + R). The bundle includes:
- Project code + list of public APIs. Keys are sanitized based on heuristic templates.
- (optional) Logs + compilation output + warnings and errors list. Compilation output is included when the dialog is visible.
- (optional) Layouts + designer script.
- (optional) Paths configuration.
- List of files. Files content is not added.
- List of libraries with additional information for each library.
- Manifest editor.
- Current caret location with the code around it - the AI knows where you are focused on right now.
- Additional information about the IDE and useful links for the AI to find more information.
- Click on Ctrl + R. A json file will be created and copied to the clipboard. Paste into the AI assistant and ask questions.
Other improvements:
- The Starter service is being deprecated due to restrictions applied by Android, which can lead to crashes. Removing the Starter service no longer affects the behavior of unhandled exceptions.
- New warning in B4XPages projects when the starter service is included.
- Application_Error sub can be added to the Main module (when the Starter service is excluded).
- B4XPages project template updated accordingly.
- New log filter:
Error - includes the app logs and system level error logs. Very useful when looking for ANRs, startup errors and other mysterious crashes. - Autocomplete in #If lines.
- List.Sublist - Very fast method that returns a read-only sub-list.
- Fix for String.ToLower not explicitly setting the locale. Mainly fixes the Turkish I: https://www.b4x.com/android/forum/t...ctly-for-the-turkish-language.163961/#content
- New #Macro / comment link options: (case insensitive)
- librariesrefresh - set to True to automatically refresh the libraries after the task runs.
- codesync - set to True to force the IDE to synchronize the code modules with the files.
- autosave - set to True to automatically save the project BEFORE running the task. Note that Tools - IDE Options - Auto Save should be enabled for this to have effect.
- filessync (not new) - set to True to synchronize the Files tab after the task.
- cleanproject (not new) - set to True to "clean project" after the task
- %STATE1% - new variable that causes the IDE to create a temporary file with the IDE state based on the new options under Tools - IDE Options. The file path will be passed to the process. This is used by Code Bundle and can be used by other similar tools. Note that the format can be modified in the future.
- NoTimeout - set to True to disable the default process timeout (currently not available in B4J).
- ide://KillProcesses - new option to kill all the currently running processes. Useful when running non-ui processes with no timeout (currently not available in B4J).
Note that starting a B4J app as an external tool is as simple as:
B4X:ide://run?File=<path to jar>\App.jar&NoTimeout=True
- B4X Map collection can now wrap Java Maps.
- Other bug fixes and minor improvements.