Feature Requests for the IDE

I cliked in the Left arrow for the first time (since 2013) yesterday…

I would like:

  1. the initial break/pause highlighted line to be in the middle of the editor when debugging
  2. the ability to sort a folder of items alphabetically, rather than having to do it manually
  3. when debugging, you can see the whole length of a String rather than you having it truncated and you have to enter the String to see its context
  4. not crash when you are viewing a RowSet contents and you click to run the next line (you have to exit editing the RowSet first)
  5. when debugging, allow the parameters window at the bottom to be dragged up as high as I want
  6. when debugging a Web App, stop the pointless Hide/Continue/Stop dialog from appearing
  7. Auto-fill variables that are defined in code above, but are within a #If TargetXXX #EndIf
  8. Allow you to drag and drop a 1024x1024 PNG file onto the App icon and it resizes all the alternatives
  9. Request the App icon to be (optionally) cropped with rounded corners and resized to match the macOS/Windows standards
  10. Trying to tear off a Tab to be its own new window causes multiple windows for the same app under the Window menu, but no new physical windows (plus it crashes any running app)
  11. a tiny global floating with Run/NextLine/Stop (I move it over my debugging app) so I don’t need to move my mouse a long way on multiple monitors

Some enhancements / bug fixes I have logged over the years:

IDE:

  • 52294 - Allow private methods to be added directly to a window control
  • 51577 - Show Superclass Properties/Methods/Constants In the Navigator When Viewing A Subclass
  • 68621 - Allow some formatting of code comments within the IDE
  • 68427 - Improve The Appearance Of Canvas Controls In The IDE Window Editor
  • 55546 - Increase the height of the method declaration panel above the code editor
  • 61854 - Allow The Toolbar To Use Less Space
  • 59007 - Allow Build Scripts To Import Lingua Files
  • 55963 - Show Control Bottom & Right Values In IDE Inspector
  • 55544 - Show IDE Search Results In A Tab
  • 54442 - Allow The Code Editor To Be Split Vertically Into Two
  • 50539 - Add Support For Nested Methods & Properties
  • 48381 - Add The IDE Back And Forward Buttons To The Menu With Accelerator Keys

Debugger:

  • 52592 - Show contents of arrays and variants in the Global runtime variable list
  • 67454 - Place me and self at the top of the debugger variables pane to make them easier to find
  • 67300 - Provide A Quick Way To View Module Properties In Debugger When Debugging A Module Method
  • 61856 - Context Clicking Object Links In The Debugger’s Variable Pane No Longer Works
  • 62415 - Debugger Should Show The Variable Type
  • 62414 - Show The Method Signature In The Debugger’s Stack List
  • 51551 - When Debugging A Module Method Include A Direct Reference To The Module In the Variables Pane
  • 50413 - Remember Previous Scroll Position When Navigating Debugger Variable List

Can we find an entry in Issue with these feedback numbers? Searching finds nothing.

Edit: searching for the description works.

I use very few shortcuts, and, in general, have no interest in learning them.

Yes, search like this #<case number> (for example #50413) and not just 50413.

I work on embedded devices a lot with C++ in vscode and have become very used to Opt/Alt+Arrow to move an entire line at a time. I was almost able to emulate the behavior with scripts and hot keys but it fell a bit short. This would be a quality of life improvement without a large time budget to implement.

Does anyone know if a feature request exists for this yet?

Yes editor shortcuts are a must-have for productive work:

  • duplicate one or multiple lines
  • move one or multiple selected lines up or down
  • select text in multiple lines at once
  • select or highlight all occurencies of a text
1 Like

Thanks.

Yes, I hide it too. The worst part (on windows at least) is that there is a real Windows toolbar (with a decent size) hidden in there :roll_eyes:

But, the 7 relevant buttons could be there without the current HUGE waste of space.

Maybe it looks ok for someone, to put it in perspective:

*The buttons are there without the huge bar

5 Likes

My brain doesn’t do any shortcuts except Cmd C, V and X. I use a Wacom tablet instead of a mouse and do almost everything with my pen.

1 Like

I use keyboard shortcuts wherever possible to counteract the one-sided hand strain of mouse operation.

Resorting to short cuts seems like going backwards. After all there is a reason Word won out over Word Perfect.

I’m currently using Netbeans to complete a PHP project and the thought of having to spark up Xojo again genuinely makes my heart sink. Love the ‘Real Basic’ language, hate the experience and the price I’m asked to pay to use it.

Some improvements I would love to see in the IDE:

  1. Comment / uncomment in the context menu
  2. A cursor in debugger hex dumps - So offsets can be found by counting cursor presses.
  3. Standard sized and properly customisable toolbars.
  4. Add property and method types grouped together in the context menu. To my mind if you are adding a property you want property, computed, shared, next to each other. Similarly method, shared, delegate etc.
  5. A complete rethink of the navigation tree and editor panels. The amount of time I waste clicking and re-sizing panels to see stuff in Xojo is extraordinary.

Cmd-’ do that (probably Alt-’ under Linux/Windows).

Same for me. Generally I only remember standard shortcuts. The only exception to this is doing some repetitive task in an unfamiliar app which uses some obscure shortcut(s) for some action(s). I’m likely to learn those in order to speed up the task I’m doing. But once that is over I forget them.

I’d like to have picture-sets marked for Mac or WIndows only (or both).
With AppWrapper I can remove unnecessary windows-images, but when building for Win32 I have to remove the Mac-ones manually.

Allowing external project items to include classes and modules. I have many project items I share between projects. Every time I update one of them I need to copy paste it to other projects that use it. In VSCode I have each item included as a git submodule, this allows me to see the change log and update right from inside the editor.

2 Likes

Allowing external folders would also be amazing. Link to a folder and any module/class thats added to that folder gets pulled into the project. Such a pain managing multiple projects with external items. Especially when you need to open them all to fix the missing items

4 Likes

This really belongs in the Pet Peeves threads since I never submitted a report… There seemed to to a lot bigger fish to fry… but it is annoying.

Because i want stay API 1 I mostly code in 2019r1.1 this behavior aways bothered me. They eventually did something about it, but IMO misfired…

I tend not use any shortcuts but the standard ones, but I do use contextual menus a lot…

If for 2019r1.1 in a class you right click in say Methods in the Navigator you get a menu like this:

Add To Methods >
--------------------
Inspect Methods (disabled)
----------------------
Cut
Copy
Paste 
Etc

OK but why what is “Add To methods” hierarchical? What else can you “Add to Methods” besides methods? NOTHING!!!

When you click on it you get a submenu with 31 items on and the only thing enabled is “method” and its the 18th line down (if I counted correctly)!
The first item on the contextual menu should have just been “Add Method”!!! I should only have to select that…

This was braindead behavioral for all navigator subheadings navigator headings for a number of years…

At some point between 2019r1.1 and now that behavior must have gotten under the skin of one of the engineers… Because they changed it

But in typical Xojo fashion, while they made a little “better” (as in more justifiable) it still is not as convenient as it should be IMO.

Now when you click on subheading you get a similar (but shorter ) Contextual menu than before:

Add To "Class Name" >
--------------------
Cut
Copy
Paste 
Etc

And the submenu is a list oif things you could add to the parent object and is 16 lines long… Methods is 2nd from the top so at least for that there is less mouse movement…

BUT I CLICKED ON THE METHODS HEADER BECAUSE I WANTED TO SPECIFICALLY ADD A METHOD!!!

What the first Contextual menu should be when I click on the method header IMO is:

Add Method (or in verbose API 2 Style "Add Method To Class Name")
--------------------
Add To "Class Name" >
--------------------
Cut
Copy
Paste 
Etc

When I right click on something I expect the contextual menu to be well contextual, and know specifically what I clicked on! The most likely desired action should be at the top not on a submenu.

The less specific actions on the parent object should be available as shown above too, but the most intensional one should be right on top!

-Karen

4 Likes