See recently used commands in imenu style - emacs

In emacs, I like to see recently used commands always visible, for buffer operations, so I can select them from menu, in imenu-tree style. I know about smex, that I can invoke with Meta-x. But the visibility is hidden unless you enter Meta-x. These commands could be as simple as 'end-of-line', kill-word' etc ..

I just wrote a small library, cmds-menu.el, which does this. It adds submenu Recent Commands to menu-bar Tools menu.
The library is loaded automatically, if available, when you load library menu-bar+.el. See MenuBarPlus for more about that library.

Related

CLIPS: Clear-window in CLIPSDOS.exe and tab to indent in CLIPSIDE

With CLIPS, It's possible some of the following?? (V 6.4 for Windows)
1 - Use a command like (clear-window) in the CLIPSDOS console for clear the console.
2 - Use tabs for indentation in CLIPSIDE. When i press tab, cursor goes to File menu item... how to indent?
How do people learn programming with CLIPS? I'm using a plugin for Visual Studio that helps me with the parenthesis concordance, let me use tabs to indent, and other tricks. But it has some problems, and i'm quite worried about the usability of the CLIPSDOS and CLIPSIDE interfaces to this purpose.
Thanks in advance.
In CLIPSDOS, you can use the command (system cls) to clear the screen. This will simply call out to DOS to execute a cls command.
The IDEs use standard text editing classes for the CLIPS command prompt window. Tabs appear to work correctly on the macOS IDE, but not the Windows or Java Swing IDEs, so that will need to be corrected.
While you can directly enter constructs at the command prompt, it's better to edit them in a file with your preferred text editor and then use the load command from the command prompt to load the contents of that file. The IDE supports a command history so you can use the up/down arrow keys to cycle through prior commands to avoid retyping.

Eclipse shortcut to switch between editor groups

I can use Ctrl-F6 or Ctrl-Shift-PgUp/Down to switch between files in the editor.
This works well if there is only one editor visible.
But when i have arranged the editor in two halfs, some files are left, some files are right. This is called "split window", like this example https://codeyarns.com/2010/01/04/how-to-split-window-in-eclipse/
I do not mean the split editor, where the same file is shown in two halfs.
How can I toggle between the left/right side (or however they are arranged), always to the already visible file?
This is one of the benefits of the Emacs+ Eclipse plugin. When this is installed, the "other-window" function will be available, which does exactly what you're looking for.
Note that using the Emacs+ plugin does not require you to know anything about Emacs or Elisp. It simply provides a large catalog of functions that are similar in spirit to what Emacs provides.
You could use the "Emacs+" keyboard scheme, which is consistent with typical Emacs bindings, but I don't use it, as I prefer to integrate Emacs+ with Eclipse, not the other way around. I like to choose a "prefix sequence" that I use to group many functions that I like to use. For instance, I use "Ctrl+;" (ctrl-semicolon) as that prefix. I bound "other-window to "ctrl+; o". You can use whatever scheme you like. Despite my goal to use my own bindings, there are some functions that are awkward if you don't use the binding from the Emacs+ scheme, like binding "ctrl+s" to the incremental regexp search function.

Emacs 24 Ubuntu Menu Panel

just installed Emacs 24 on a ubuntu precise OS. The menu bar in the top panel is missing a number of options (e.g. using Auctex, all the Latex options).
I recall seeing on the web somewhere that it was possible to have the menu on top of the Emacs frame rather than the unity default of the top panel. There is an answer on SO for how to enable the global menubar in ubuntu. Can someone please point me to how to disable it in the global menu until it gets to the point where they play well together.
Thanks
Ubuntu has a hardcoded hack to disable the global menubar for applications matching certain filename patterns. emacs is among those, as is firefox, another popular program that suffers from the same sorts of problems of GTK detached menubars not updating in the usual way that X programs expect them to.
Try running update-alternatives to select emacs24 as your default Emacs, then use emacs to start it, rather than emacs24.
I was using the symlink method mentioned by #Bernhard Kausler, but found I couldn't pin the icon that resulted from staring emacs from the shell in this way without it reverting to using the global menu.
I got a working unity launcher shortcut with this .desktop file:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Icon[en_NZ]=emacs
Name[en_NZ]=Gnu Emacs 24
Exec=emacs
Name=Gnu Emacs 24
Icon=emacs
StartupWMClass=Emacs24
Now I can have emacs pinned to the launcher and it launches with its own menu bar.
You can just create a symbolic link to the emacs??? command you use to launch emacs, and if the symbolic link's name is exactly 'emacs', it will not use the global menu when launched.
This is a known bug with Emacs dynamic menus where changing major modes adds or removes entries from the menu.
https://bugs.launchpad.net/ubuntu/+source/appmenu-gtk/+bug/673302
It's unfortunate that the names of the blacklisted apps are hard coded into the appmenu-gtk package, and that there does not seem to be a way to add items without touching the source code.

Autocompletion from the keyboard in Emacs CEDET/semantic

Looking a the different methods for completion in CEDET semantic (fresh version from the Bazaar repository), I see I have the following options (keyboard bindings as suggested by Alex Ott in his config file)
C-c ? (semantic-ia-complete-symbol)
C-return (semantic-ia-complete-symbol-menu)
C-c , l (semantic-analyze-possible-completions)
However, none of them seem to give me the option to choose between the possible completions conveniently using the keyboard.
For example, (semantic-ia-complete-symbol-menu) opens a menu where I can choose between the different options, but as far as I can tell it requires me to use the mouse (I tried C-n, C-p, M-n, M-p to navigate the menu with no success).
On the other hand (semantic-ia-complete-symbol) opens another buffer with the options. I can also use the mouse to choose the desired autocompletion, but I would like to use the keyboard instead.
Also, in previous versions of CEDET, there was a variable (semantic-complete-inline-analyzer-displayor-class) that allowed me to choose between several options for autocompletion (e.g. (semantic-displayor-ghost), or a more elegant overlay as a tooltip), but this variable does not seem to exist anymore.
In case it matters, I work mostly with C++ files.
Update:
The only method that seems to allow me to cycle through autocompletions is C-c , space (semantic-complete-analyze-inline), where I can use TAB to autocomplete, but it doesn't show a menu of possible autocompletions that I can choose from.
In new versions of CEDET it's recommended to use auto-complete or similar packages. You can add ac-semantic to ac-sources, and then auto-complete will use Semantic as source of data for completions. The new version of Emacs/CEDET articles, mentions this setup & shows necessary code. Please try it

Useful Eclipse features? [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
I have been using Eclipse as an IDE for a short amount of time (about 3 months of full use) and almost every day I learn about some shortcut or feature that I had absolutely no idea about. For instance, just today I learned that Ctrl+3 was the shortcut for a Quick Access window.
I was wondering what your most useful/favorite Eclipse features are. With the IDE being so big, it would be helpful to learn about the more commonly used parts of the program.
My most commonly used features are
ctrl+1 quick-fix / spell-checker
opening files
ctrl+shift+t load class file by classname
ctrl+shift+r load any file by filename
matches are made on the start of the class/filename. start your search pattern with a * to search anywhere within the filename/classname.
Formatting
ctrl+shift+f Format source file
(set up your formatting style in Window | preferences | java | code style | formatter)
ctrl+shift+o Organise imports
Generated code
alt+s,r to generate getters and setters
alt+s,v to insert method signatures for overidden methods from superclass or interface
Refactorings
alt+shift+l Extract text-selection as local variable (really handy in that it determines and inserts the type for you.
alt+shift+m Extract text-selection as a method
alt+shift+i inline selected method
Running and debugging.
alt+shift+x is a really handy prefix to run stuff in your current file.
alt+shift+x, t run unit tests in current file
alt+shift+x, j run main in current file
alt+shift+x, r run on server
There are more. The options are shown to you in the lower-right popup after hitting alt+shift+x.
alt+shift+x can be switched for alt+shift+d in all the above examples to run in the debugger.
Validation
As of the recent Ganymede release, you can now switch of validation in specified files and folders. I've been waiting for this feature for ages.
Go to Project | Properties | Validation
click on the ... button in the settings column of the validator you want to shut up
Add a rule to the exclude group
code navigation
hold down ctrl to make all variables, methods and classnames hyperlinks to their definitions.
alt+left to navigate back to where you clicked ctrl
alt+right to go "forwards" again
This is cool: If someone has emailed you a stack trace, you can copy and paste the stack trace into Eclipse's Console window. You can then click on class names in the stack trace as if your own code had generated it.
In terms of actual features, rather than shortcuts, I strongly recommend taking a look at Mylyn.
It essentially skins Eclipse with a task focussed view. It tracks the files you touch when working on a task, and focusses many aspects of the UI onto the resources that it decides are relevant to the job in hand. Eclipse can be somewhat busy to look at, especially with a big multi module project, and Mylyn helps cut through the cruft. The connectivity to issue tracking software and source control repositories is also excellent.
In my experience, it polarises opinion amongst those who try working with it, which is probably a sign that it is offering something interesting... Don't mean to sound like a fanboy - it is definitely worth a look though.
A shortcut that I use everyday is Ctrl+K. In your editor (not only Java file), simply select a text (like a variable, a function, etc.), and then use this shortcut to go to the next occurrence of this text in the current editor.
It's faster than using the Ctrl+F shortcut...
Note also that you can use Ctrl+Shift+K to search backwards.
Ctrl-Alt (up/down) Copy selected line(s) above or below current line.
Alt (up/down) Move current (or multiple selected) lines up or down
Ctrl-Shift-R Bring up the resource window, start typing to find class/resource
Ctrl-O Bring up all methods and fields for the current class. Hitting it again will bring up all methods and fields for current class and super classes.
Ctrl-/ or Ctrl-Alt-C Comment single or multiple lines with //
Ctrl-Shift-/ Comment selected lines with /* */
Ctrl-. Take you to the next error or warning line
CTRL+PAGE DOWN / CTRL+PAGE UP to switch between opened editors
CTRL+E to also switch between opened editors (allows to type the name)
CTRL+O is extremely important for me. You don't longer need the Outline View then (you can close it which will give you more space). Then, you can type a method name or just the beginning of it and you quickly can get to it. I also use it to inspect what stuff is available. For example: CTRL+O and then type get ... now I see all getters.
F3 while an element is selected in the code: brings you to its definition or it's source. e.g. used on a method call it brings you into the source code of that method.
CTRL+M to maximize the current window
As already said, CTRL+3 is extremely good. It basically allows you to use Eclipse completely without a mouse. Just type CTRL+3 and then package explorer for example.
CTRL+F8 cycle trough perspectives
CTRL+L allows to type a line number and brings you directly to that line.
CTRL+SHIFT+G searches for all references to the selected element in the workspace.
And not a shortcut: In the project settings under Java Editor you can find Save Actions. This allows you to set up the project so that the code is automatically cleaned up and formatted when you save a file. That's very good it safes you from constantly pressing CTRL+O and CTRL+F.
Eclipse auto refresh isn't on by default so if you make changes to a file outside of eclipse, the change won't be reflected in your build. this is very annoying if you just did an svn/git update/rebase and things aren't working the way they're supposed to.
Turn it on in windows->preferences->workspace and tick Refresh Automatically.
Local History
It's a great feature. Eclipse has its own mini-CVS for all files in a project. If you want to revert some change you made, or even restore deleted file - you can right click on the project and select "Restore from Local History".
Just saved my ass *tears of joy*
CTRL+Shift+P to jump to the matching bracket/parenthesis.
One key feature: Shift+Alt+T for the refactoring menu.
Ctrl-shift-T, but only type the initial characters (and even a few
more) of the class you're looking
for. For example, you can type
"NetLi" to find NetworkListener
In the Search window, Ctrl-. takes you to the first leaf of a tree branch
Alt-/ is Word Completion. Slightly different from Ctrl-space
CTRL+SHIFT+X selected text becomes UPPERCASE
CTRL+SHIFT+Y selected text becomes lowercase
I'd like to add two additional shortcuts:
CTRL+F6 Switch between open editors (CTRL+SHIFT+F6 to scroll through the list in the opposite direction)
CTRL+F11 start program in debug mode
F11 start program in normal mode
A lot of the key bindings depend on the perspective and view currently active.
My most used ones for the Java perspective:
ctrl-shift-r open resource
ctrl-shift-t open type
ctrl-1 quick fix/refactor
ctrl-j incremental search
ctrl-h search in files (select a base directory and set scope to selected resources)
ctrl-o list methods
ctrl-alt-h open call hierarchy
ctrl-shift-l list shortcut keys
hit ctrl-shift-l again to go directly to preferences to change key mappings
I am also a fan of Eclipse, however since I spend a majority of my time in Visual Studio, I will suggest that you read Eric Sink's series of articles "C# to Java" (parts 1-4). Not only is Eric always an entertaining read, but this brief series covers some awesome Eclipse insight for those who have not been into Eclipse or have been away from it for a while:
From C# to Java: Part 1
From C# to Java: Part 2
From C# to Java: Part 3
From C# to Java: Part 4
Ctrl-Shift-M while the cursor is on a class name in your java file, will specifically add that and only that class to your imports. This is different from Ctrl-Shift-O which will not only add those imports not already defined, but will also remove imports not currently needed, something you might not necessarily want to do.
I forgot about [Ctrl+2 -> r] scope variable rename. Place the cursor in the variable you wish to rename, press Ctrl+2, then r, then type the new name watching all instances of that variable get renamed at the same time.
It's awesome at refactoring Hungarian Notation.
alt-shift-a is extremely useful in a few situations.
I use a lot of the above and also like for quick search: CTRL+J then type what I am looking for, then CTRL+K for next occurrence.
Lately I've been using the MouseFeeds plugin to automatically tell me what the key stroke combinations are. That way by repetition I remember them better.
This link has a better picture and description of what it looks like and does.
Shift+Alt+b for the simple navigation row over the editor.
I've just released this blog post about Top 5 Useful Hidden Eclipse Features. It contains:
Favorites: Types and members that will always show up in auto-completion
The awesome block selection mode: For multi-line editing
The EGit staging view: Much better than git itself
Type filters: To remove awt and java.lang.Object stuff from auto-completion
Formatter tags: To delimit code sections that shouldn't be auto-formatted
Alt+left and Alt+ right will navigate you forward and back.
I find the project-specific settings useful in Eclipse 3.3.
For example, if you have several developers working on a project who have different code styles for curly braces, line spacing, number of imports etc. then you can specify the style settings for the project. Then you can configure the save actions so that the code is automatically formatted when a file is saved. The result is everyone's code is formatted the same before it's checked in.