• Welcome to PlanetSquires Forums.
 

WinFBE v3.0.0-BETA-1 (March 25, 2022)

Started by Paul Squires, March 25, 2022, 09:15:25 AM

Previous topic - Next topic

Paul Squires

Hi everyone,

Well, I figured that I better release something for you folks to test out otherwise more time will just drag on.

Here is the download link for the first beta for WinFBE Version 3.

https://github.com/PaulSquires/WinFBE/releases/download/2.2.0/WinFBE_Suite3-BETA-1.zip

DO NOT USE THIS ON YOUR PRODUCTION CODE UNLESS YOU HAVE FULLY BACKED UP YOUR PROJECTS. I SAY THIS BECAUSE I WOULD HATE FOR ANYTHING IN YOUR PROJECTS TO BE COMPROMISED BY THIS BETA


KNOWN ISSUES RELATED BETA-1

- The vertical scrollbar thumbs will shrink very small when huge number of lines exist in a document. Need to add logic that resizes the thumbs to a minimum size and then correctly calculate the lines to display in the editor when the thumb is moved.

- The "Check for Updates" feature has been disabled for the Beta releases.

- The WinFBE 64-bit version has been compiled using the new asm -gen gas64 switch rather than -gen gcc. Interesting to see if any issues result because of the new compiled code.

- ComboBoxes or being able to up/down arrow through a history for the Find/Replace textboxes.

- Syntax highlighting on a line fails for all keywords/characters after occurrence of a "#" used as a file reference. Examples:
put_result = put(#f, ,gCtxt())
print #dump_tables_fnum, hex(ibyt, 2); "trash string"

- How to display overloaded functions in the Function Lists. Currently only the name of the function appears and that could relate to more than one overloaded function thereby taking you to a potentially wrong location in the source code if you click on one of them.

- Call tips overloading. Similar to the Function list issue. Need to allow multiple overloaded functions to be able to cycle through in the call tip.

- Color the popup autocomplete list to be consistent with the selected theme.

- Code Intellisense popups needs its parser re-written to be more efficient and consistent. It works "okay" but could be much better.

- Very little has been updated to the visual designer portion of WinFBE. Hopefully all of the changes to the editor portion has not negatively affected parts of the visual designer.


Please let me know the good and bad and what needs improvement. This version is quite a bit different than the existing WinFBE so just give it a good workout and seek out where things differ in the new version. I have tried to simplify functionality rather than bury as much into the menus and options as possible. I have also made an effort for the editor to be more keyboard focused than than point/click. You should be able to assign keyboard shortcuts to just about everything.

If you dislike the new color themes then you can easily create a new theme by just copying an existing theme and changing the values to your liking. Also, I have plenty of time to modify the existing themes to different colors prior to releasing the final version should you have any suggestions.

Good luck!

Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

Johan Klassen


Paul Squires

You're welcome Johan :-)   Please let me know things you like and dislike once you have had time to play around with it. I still have time to make adjustments to the editor before I release the final version 3.0.

Here is the list of changes and updates:

Version 3.0.0-BETA-1
Editor:
- Complete re-write of main editor UI to have a look and feel more in line with modern code editors.
- Updated to Scintilla Version 5.1.5 (Dec 7, 2021). Also, switched to use Lexilla.dll with custom lexer called lexWinFBE that handles the FreeBasic lexing.
- All new Theme system. All colors (RGB) can be edited in external .theme files found in the \themes folder.
- Added Windows API keywords and syntax highlighting.
- New Bookmarks list that shows all bookmarks from all open (and closed) files. Easily navigate or clear bookmarks throughout all files.
- New option to save/restore "session". Allow reloading and showing of files active during most previous editor use. Will reload a project should a project had been active. Editor state (open windows, editing position, selected compiler, etc) is saved and restored.
- Added Environment option to automatically load the last used Session file when the editor starts. If the last Session saved was a Project, then the project will be loaded.
- New keyboard binding mapping allowing the user to choose their own keyboard shortcuts for various editor functions.
- New Auto Save functionality. When enabled, unsaved files will be periodically saved to temporary files. In the event of crash, these files will be ask to be used when the editor next attempts to load the crashed file.
- New Font option (Environment Options / Colors and Fonts) to allow for extra spacing between editor lines on screen.
- Re-worked portions of Code Folding to make it visually more appealing.
- Changed some default Code Folding keyboard shortcuts because "Alt" based shortcut would sometimes invoke Windows system functionality.
- Changed logic of "Toggle Current and All Below" folding to now work on fold levels inside a function that of greater depth than the fold level being toggle. Previously, this function only worked on base level fold points (basically, the sub/function line and all other sub/functions below it in the source code). This new logic makes it easier to fold/unfold code blocks from deep with a particular function making it somewhat more usable in practice than the old logic.
- Greatly increased the Font selector combobox (Environment Options / Colors and Fonts) so it should be easier now to pick fonts that have long descriptive names.
- Multiple code editor text selections is now enabled. Hold CTRL and highlight multiple areas of text.
- Editor will try to gracefully fallback amongst various monospaced fonts should the previously selected font in the config file no longer exist. This can occur, for example, if you switch to different computers without the same fonts installed, or you switch between Windows and Linux (Wine).
- Replace All actions are now batched allowing Ctrl+Z Undo to undo all of the changes made, not just the last one.
- Changed Replace keyboard short from Ctrl+R to Ctrl+H to be in line with the vast number of other editors that use the Ctrl+H shortcut.
- Added the forward slash ('/') key shortcut for commenting lines (in addition to the current 'B' key option).
- Removed the ancient Win32 api help file and the menu option to invoke it.
- Removed main editor Toolbar to be consistent with most other modern editors that have foregone the use of a dedicated toolbar.
- When files added to a Project, newly added *.BAS files are now treated as NORMAL rather than MODULE files.
- Tweaked "Check for Updates" to provide more reliable reporting in the event of failure to retrieve information from the server.
- Tweaked the F3 and Shift+F3 accelerator that will Find Next/Prev the last highlighted search text. It is now more consistent by not being reset to a different search term under some situations.
- Re-worked the Find/Replace popup dialog to be visually more appealing and to work better with keyboard. Added keyboard shortcuts for some find/replace actions (for example, Ctrl+Alt+Enter to Replace All).
- Added keyboard shortcut "CTRL+~" (ctrl+tilde) to allow you to move keyboard focus back to the active editing window. This is useful, for example, for jumping between the editing window and the Find/Replace dialog.
- Added keyboard shortcuts to move to next and move to previous compiler errors. This is a quick way to jump to and fix errors without having to use your mouse to double click the compiler error message in the Output window.
- Added "Explorer Categories" that allow user defined custom nodes to display in the Explorer window (only when used with an active Project).
- The Explorer window now allows for multiple nodes to be selected (via Ctrl or Shift) and to popup right-click menu to perform actions on the group of selected nodes (for example, to re-designate files to different FileTypes, etc).
- Code Fold points are now saved between Project and/or Sessions in the same manner as Bookmarks are treated.
- Disabled the functionality whereby if Find/Replace dialog is open and user switches to a different tab in the editor, then search highlights would automatically reposition the caret to the first found find text in the newly selected tab.
- Bookmark searches for Previous/Next Bookmark will now display in center of screen if Environment option "Position searches to middle of screen" is enabled.
- Find In Files corrected to properly process *.* files. In situations of *.* searches known binary formats are bypassed (eg. EXE, DLL, BMP, etc).
- Corrected issues whereby Replace All could fail to replace matching entries near the end of the edit buffer.
- Implemented Preserve Case option for Find/Replace. Currently, only supports preserve Full Upper Case or Full Lower Case preserve case replace.
- Added (-gen gas64) option for Build Configurations.
- Fixed bug whereby FindReplace window would not close when all other underlying code windows have been closed.

Visual Designer:
- New control property hWindowToolTip which will retrieve the windows handle for any tooltip created for a control.

Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

SeaVipe

Hi Paul, Thanks for this new release, very, very nice!
A couple of things:
1-The Output Window disappears when the Editor (not the Visual Designer) is open for the code of a form file. Reappears when the tab is moved to a module file.
2-I can rarely get consistency with Autocomplete for form controls. Works maybe 20%, but when it works it's perfect (same with previous versions).
3-Where do I find the list of functions for a given module (as in a dropdown)? F4 works but requires scrolling/searching to the open module.
Clive Richey

Paul Squires

Thanks Clive!

Keep the reports coming should you find anything else that is broken, or even things that you wish was done differently.

(1) I will check into this.
(2) Autocomplete on visual designer controls is pretty bad it seems. I really need to make that much better.
(3) List of functions. Right now the only place is in the F4 list. I am not 100% sure if that is the best approach. I kind of miss the popup Function list from the existing WinFBE version as you can see a wide list of all functions more easily. I will judge by feedback whether to try to reintroduce that popup.
Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

Paul Squires

Also, if you use the Light Theme, then I am certainly open to making color adjustments to the default values (especially the status bar because I am not sold on the blue color that I chose).
Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

Paul Squires

Quote from: SeaVipe on March 25, 2022, 07:52:14 PM
1-The Output Window disappears when the Editor (not the Visual Designer) is open for the code of a form file. Reappears when the tab is moved to a module file.
Thanks - this one is fixed now. The size of the tab control that switches between Code and Design was too high. I fixed that calculation. I'll ensure the fix makes it into any subsequent betas and/or final release.
Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

SeaVipe

Hi Paul, The Editor's scrollbars do not display arrows and the thumbs of both scrollbars go slightly off-screen. The bottom scrollbar is only about 2/3 as thick as the right scrollbar.
Clive Richey

Paul Squires

Hi Clive, no arrows is by design. Most modern scrollbars these days do not show arrows. The thickness is also by design and is based on the size that VS Code uses. I assume that the reason is that horizontal scrolling is used much less of the time and it makes it less visually intrusive if that scrollbar is a littler narrower. I will check out what you mean by slightly off-screen.
Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

SeaVipe

Hi Paul, I thought perhaps "by design" might be the case!
Typically, I use the arrows to make small increments with the scrollbar as dragging the thumb sometimes moves things a bit too far.
As for the "off-screen", it may just be that on my machine the no-arrow look simply gives that impression. Probably not worth looking into.
Clive Richey

Bumblebee

It looks good on my laptop, and I'm using a customized Windows theme.
I don't have much to critique, except that I miss the status messages and the toolbar.
Best IDE for FreeBasic by far!
Failed pollinator.

Paul Squires

#11
Great, thanks for the report!

Quote from: Bumblebee on March 28, 2022, 07:37:51 AM
...I miss the status messages...
Can you elaborate a little bit? Status messages? You mean the text that displays in the statusbar during a project loading, file compiling, etc?
If yes, then most likely it is related to this message and bug report from Clive https://www.planetsquires.com/protect/forum/index.php?topic=4586.msg35095#msg35095
It happens when you are in visual designer mode (with the "Code" and "Design" tab control at the bottom of the editor). The window was sized too large and covered the statusbar messages. That is all fixed now.
Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

Bumblebee

I can toggle the output window, but it's just a blank panel. That may be the problem Clive reported, but I'm unable to view any details within that panel.
Failed pollinator.

Paul Squires

Here are the changes that I have made so far for an upcoming BETA 2

- Fixed visual error whereby statusbar area was covered whenever a visual designer form was active.
- WinFBE64 is now compiled using the -gen gcc -O 2 flags.
- Added right click popup menus for cut/copy/paste for textboxes that were changed to RichEdit (Find/Replace/CompilerLog/Notes).
- Added popup tooltip for Function list that displays the function prototype. Easier now to differentiate between overloaded functions.
- Fixed selecting function with multiple overloads would incorrectly always position the editor to the first instance of that function.
- Added some bcrypt* Win32 api keywords to the default winapi_keywords.txt file.
- Fixed issue whereby deleting a User Tool would result in a ghost entry in the User Tool top menu until the program was restarted.
- Updated the SetCompilerSwitchesII user tool to the latest version.
Paul Squires
PlanetSquires Software
WinFBE Editor and Visual Designer

David Roberts

Just out of interest, how many of you use the Projects feature?