Author Topic: Does SlickEdit 2018 have a command palette?  (Read 160 times)

Kurt

  • New Community Member
  • Posts: 2
  • Hero Points: 0
Does SlickEdit 2018 have a command palette?
« on: November 02, 2018, 02:40:02 pm »
The "Command Palette" in VSCode is pretty hand.  Does the upcoming SlickEdit 2018 have something similar?

Thanks,
Kurt
-SE2014 user

Graeme

  • Senior Community Member
  • Posts: 2210
  • Hero Points: 272
Re: Does SlickEdit 2018 have a command palette?
« Reply #1 on: November 04, 2018, 05:10:11 am »
The keybindings dialog allows you to enter a partial command name and it will show you all command names that contain the string.  It also shows you whatever "help" information is available for the currently selected command.  If you select one of the commands in the list, you can use "Ctrl-dot" to get taken to the source code for that command.  If you copy the  code below to a macro source file and load it, you will be able to use "Ctrl-space" in the keybindings dialog to execute that command.  You will be prompted to confirm first.  There's a command called gui_keybindings that you can use to bring up the key bindings dialog.

If you haven't loaded a macro before, copy it to some-file.e, then open it and use the "load module" command in the macro menu.

If you right click in any edit window and select "edit this menu" from the menu, you can customise the menu to add any favourite commands.

If you download the macro files here, have a look in xxutils.e and you'll see how to create a popup menu with whatever commands you want on it - show_xmenu1()
https://community.slickedit.com/index.php/topic,16598.0.html



Code: [Select]
#include "slick.sh"


#pragma option(strictsemicolons,on)
#pragma option(strict,on)
#pragma option(autodecl,off)
#pragma option(strictparens,on)

defeventtab  _keybindings_form;

void ctlcommandbindings."C- "()
{
   caption := _TreeGetCaption(_TreeCurIndex());
   parse caption with auto commandName "\t" .;
   if (commandName != "") {
      if (_message_box('Execute ' :+ commandName :+ '?', "Execute command", MB_YESNO) == IDYES) {
         execute(commandName);
      }
   }
}