So while I am writing some code in lisp, autocomplete frequently hangs for one or two seconds (depends on connection to repl) and during this period of time emacs doesn't show what I am typing. You are typing and nothing happens, then all characters appear.
There is a delay that you can adjust not to start completion at all if you are typing fast. You can type very slowly and completion delay won't annoy you.
I am wondering is there a way to make user interation be more prioritized then autocomplete thread. When you are typing at the same time as autocomplete works could your input action interrupt it?
Related
I want to move my input cursor down 1 line.
Is there a way to bind cursor movement in the keyboard shortcuts interface?
Update: I have actually found myself in Notepad++ whenever I'm just too tired to wrestle with my text cursor...
So Far
In other software, I use the down arrow. In VS Code, this scrolls auto-fill suggestions.
Formerly, I used a two-key combination: left arrow and down arrow, one to cancel suggestions, one to move the cursor. This no longer works. Suggestions persist.
I've looked everywhere for an answer. There are 0 alternatives, correct? The move cursor down exclusive functionality is simply not available in any way in the current version of VS Code.
Non-configurably eliminated from the software's design.
Inadequate Solutions
I can hit escape, but like the mouse, that means lifting one hand. When editing dozens of lines of index assignations (ugly optimization, don't ask), my arm actually starts to burn from the rapid movements. The process is painfully slow.
I cannot disable suggestions or summon them with ctrl+space, because I use them with every identifier I type (via tab), multiple times per line.
See further below for the original question.
I've used gdb for over a couple of decades, and after an update gdb started defeating c-x-b and preventing windows from being used to view things I wanted to see, while forcing bindings to buffers I didn't care to see. The fix seems to have broken tab completion for shells.
Ah, so how can I to stop gdb from taking control of the buffers/windows/frames layout without breaking something else?
;; fix 'feature' of broken gdb where it takes control of an
;; emacs window, and locks the user out from switching from it
;;
(defun set-window-undedicated-p (window flag)
"Never set window dedicated."
flag)
(advice-add 'set-window-dedicated-p :override #'set-window-undedicated-p)
--- problem in the original post --->
about a year back, after an update, file name completion windows in the shell stopped closing after the completion. I figured this behavior would go away on the next release .. but it never has.
hitting tab -- all good
after completion, then another ls with tab
I can repeat this process until my shell panel is all but crowded out, and emacs fills with completion panels that all contain additional views of the shell.
Is this some kind of new feature that can be turned off? Or is it, as seems more likely, a bug? (How can it have lived for so long!?). Is there a simple way without taking one's hands off the keyboard to, in general, close the completion window so that the screen looks like it did before hitting tab?
[I had to take out the more detailed descriptions of the images because with them, stack exchange complained of unformatted code and wouldn't take the post... there was not even a hint of code in them. Anyway, this should be good enough.]
I'm using Notepad++ for C coding.
The auto-complete functionality in NP++ seems really naive. No matter where I am in a file, it always tries to give me a list of auto-complete suggestions (most of which are just random words, rather than function or variable names).
It becomes really annoying when I'm trying to write a long multi-line comment, and I keep having to hit escape at the end of lines because the auto-complete pop-up wants to change what I'm typing.
Is there a way to disable auto-complete inside comments?
Alternatively,
Is there a way to disable keyboard interactions with auto-complete? The time it saves by filling in text for me is negligible compared to the time it saves me from having to go and confirm that I'm spelling function or variable names correctly. So, it would be just about as useful if it always made suggestions, but where the arrow keys and enter interacted with the text, rather than the pop-up.
You can go Settings →Preferences → Auto-Completion and from this point you can set whether you have auto-completion on words, functions or both.
At this point, I don't believe there is a way to disable auto-completion within comments.
A workaround is to turn off auto-completion using Ctrl+Enter for your code, and Ctrl+Space for your comments.
I've found several code completion elisp packages for emacs that do code completion, but most bind to a key such as M-/ to toggle completion. Is there something similar to Vim's omnicomplete where you can set it to automatically pop up a list of autocompletion options where you can either navigate through them, or just keep typing.
See screenshot for example:
I think company mode would best fit your description. Have a look at it.
There are a number, all a little different:
predictivemode
pabbrev
completionui
autocomplete
They all have their drawbacks and advantages.
The emacs wiki has a page for all the completion packages.
Can you? Sure. Reset a timer on post-command-hook. If it goes off (because you are sitting at your screen not typing), pop-up the thing.
It seems easier to tell your computer what to do (by pressing keys) rather than having it wait for your to stop typing for a while, however. Bind completion to something like the "menu key", and you won't even have to chord.
I have just installed cedet (CVS version) and I am now playing with in emacs and my C++ source code.
Regarding the auto complete, I can invoke the tool tip and the menu from their semantic-ia-complete-* commands.
Does anyone know how I can make the auto complete tip appear automatically without my having to invoke a command (semantic-ia-complete-tip)? Is this even possible?
From CEDET website:
Automatically starting inline completion in idle time
M-x global-semantic-idle-completions-mode
This is a minor mode which runs
semantic-complete-analyze-inline-idle
during idle time. Instead of trying to
complete the symbol immediately, it
will just display the possible
completions, and underline the current
symbol the cursor is on.
In practice this means that the possible completions will appear whenever you stop typing and the cursor is under a symbol where completions are possible.
To use it, just put
(global-semantic-idle-completions-mode)
to your .emacs after loading the CEDET.