IDEA: Code complete, browse down with TAB key - intellij-idea

I want to know if there is a way in IDEA when the code complete popup is shown that you would go down with TAB key and select one with ENTER.
For the ENTER I have figure it out: Chose Lookup Item Replace
But for the TAB i don't know how to set this up.
Any one have solution for this?

The Tab used to replace the string next to the caret with the selected one. It's different for Enter.
You can learned this for Jetbrains team designed to.
https://www.jetbrains.com/help/idea/2016.3/using-suggestion-list.html

Related

Vscode "next search result" shortcut does not work

When I use the shortcut associated with "search.action.focusNextSearchResult" in vscode while searching something nothing happens.
This action is initially associated with F4 which is also used for other shortcuts. I thought it may be the problem so I reassigned it to an unused shortcut but it did not help.
I am using the extension "Emacs Friendly Keymap" (don't know if it can cause the problem).
Do you know how I could make it work?
That shortcut, used to go to the next search result, only works in a search editor. It has these context keys:
hasSearchResult || inSearchEditor
Are you using it in a separate search editor? It does work there. Here is one way to open a Search Editor:
If you are using the Find widget then use either of these:
Enter when focus is still in the Find widget or F3 when focus is in the editor.
If you are doing a search across files, then just a downarrow will go to the next result.

How can I enter a literal <TAB> character in IntelliJ/IDEA/PyCharm?

My configuration indents with four spaces, and I want to keep that. Occasionally (e.g. in a Makefile) I want to input a literal TAB character.
How can I force the IntelliJ-IDEs to input a tab or space, when it would not do so when I hit tab or space in that instance?
You seem to be asking two questions here:
1. How do I force IntelliJ IDE to input a tab, when it would not do so when I hit tab?
and
2. How do I force IntelliJ IDE to input a space, when it would not do so when I hit space?
I don't understand how the second case can arise. However, I have provided a solution to it as well.
Case 1. Insert a tab character when an IntelliJ IDE wants to replace it with spaces due to configuration
Solution
Use search and replace.
Details
Place the cursor where you want the tab to be
Press the X key
Select the X you just typed
From the main menu, choose Edit | Find | Replace to bring up the search and replace pane
Make sure there is an X in the search field
Enter \t in the replace field
Be sure the option Regex is checked
Be sure the option In Selection is checked
Click the Replace button
Case 2. Insert a space character when an IntelliJ IDE won't just let you type one (???)
Solution
Use search and replace.
Details
Place the cursor where you want the space to be
Press the X key
Select the X you just typed
From the main menu, choose Edit | Find | Replace to bring up the search and replace pane
Make sure there is an X in the search field
Enter a single space into the replace field
Be sure the option In Selection is checked
Click the Replace button
Install the plugin for Makefile support: https://plugins.jetbrains.com/plugin/9333-makefile-support
When I tried it today, this automatically use hard tabs in the editors for Makefile files.
Open another text editor, type a tab, and then copy and paste into the PyCharm editor. In MacOSX this worked for me using both Sublime Text 2 and TextEdit.
I can't think of any "direct" way. Probably the easiest way that I can think of is to write a Live Template to do it. See the help page on Live Templates for more information. When you write it, you may need to copy and paste a tab character in from another application.
However, when I tried it, IDEA saw it as just empty text and would not save it. So I used a variable with the "capitalize" function to capitalize a tab character.
Here's the template I created that you can paste into your templates. Now I type tab, hit the Tab key and I get a tab character. Of course you can change the abbreviation.
<template name="tab" value="$TAB$" description="Enter a tab Character" toReformat="false" toShortenFQNames="true">
<variable name="TAB" expression="capitalize(" ")" defaultValue=" " alwaysStopAt="false" />
<context>
<option name="OTHER" value="true" />
</context>
</template>
You could extend the idea to have multiple ones that enter multiple tabs. For example tab to enter 1 tab, tab2 for 2 tabs, etc.
Screenshot of it after use:
There may also be a way to hack a macro to do it. You could then assign the macro to a keyboard shortcut. I'll see if I can figure something out and update this if I do.
Use the menu option: Edit -> Convert Indents -> To Tabs.
Whenever I edit a makefile I do the "to tabs" conversion before I save the file.
UPDATE: Really sadly, I think the generated character still gets converted to spaces... Am checking...
There is an Action in JetBrains IDEs to enter a Tab character.
Here are the steps to use the Tab character action: (discovered in PyCharm 2020.3)
Double-tap the Shift key OR Help -> Find Action...
Type the 3 characters tab
Click on the action that is called Tab and shows the icon for the Tab character...
It remembers the last action you did, so if you have several tabs to add, you can get into a quick process by doing ShiftShift then Return each time.
Answer based on #Morfic's comment to the question. I think this is the cleanest and most sensible reply here so I figured it deserves a place as an answer (and needless to say, it worked for me).
If they're different types of files you could configure File -> Settings -> Editor -> Code style -> Tabs and Indents for each one to use either space or tab depending on how you want it.
One way to do this is to copy a TAB character from another text editor, then right click in your PyCharm file and use Copy / Paste Special -> Paste as Plain Text (Ctrl+Alt+Maj+V)
I guess this was not available in older PyCharm versions, because no other answer proposed it. Regular paste (Ctrl+V) doesn't work (replaced by spaces), but this one works. The function will also bypass other automatic formatting.
Inspired of Clare's suggestion,
assign the left tab key after finding 'tab' action.
At Actions tab, search by 'tab' and move your up/down arrow key and place there.
Then type Ctrl+1, you will see a popup. Select as follows and click OK.
Then, you might be asked "Do you want to remove other assignments?" if Tab key was already assigned. Click Leave because your usage won't conflict with the existing setup.

Move cursor to the next parameter in PhpStorm

I want to move the cursor from here:
To here:
in a single step. Is there any such keyboard shortcut?
Right now I first have to enter the right arrow, then comma and then space which is a task quite cumbersome on my keyboard.
No there isn't but you could create a live template to get something simpler. So you can create a live template live this:
$PARAMONE$, $PARAMTWO$, $PARAMTHREE$, $PARAMFOUR$ $END$
And you can call this param4, and once you type that in, and press tab, it will load up areas that you can type into and just press tab to get from one param to the other.
Other than that, there's no way I know of to do this.

Deselect selected text in sql server management studio table-design cell w/out using mouse

This is something that has bothered me for years. When I am using SQL Server 2005 Management Studio and I am in the table designer and I'm editing the column definitions It is almost possible to do this entirely without using the mouse. However, if I'm navigating around the cells in this designer using the arrow keys, when I move to a new cell all the text is selected. Say I want to change a decimal(6,2) to decimal(6,3), so I move over there with arrow keys and the whole decimal(6,2) phrase is selected. I have been completely unsuccessful in finding a way to move the cursor to the beginning or end of the line. Instead any combination of ctrl, shift, alt and arrow keys blithely select the adjacent cell in that arrow's direction. So inevitably, I have to take my hands from the keyboard and use the mouse to click within the cell I want to edit and then I can edit the value without having to retype the entire thing.
GRRR!
Can anyone help me out with this one?
I will be eternally grateful (or at least as long as I use Sql server management studio)!
Thanks,
Uh... F2, right? That's always worked for me, in just about any program where you edit a grid
While playing around with #Damien's answer I found out an even better answer that I basically accept as the answer.
If you move to a cell and all the text is selected you can hit the escape key. All the text will still be selected but at this point you can use the navigation keys like arrows and Home and End and they will work as expected.
Okay, this is ugly, but you can do it with 3 keyboard actions: SPACE, CTRL-Z, RIGHT ARROW leaves the cursor at the end of the text, left arrow is then moving the cursor within the text.
But as I said in my comment, I'd just use a query window and write the SQL directly rather than using the table designer.

How to close a file in Intellij using a keyboard shortcut?

I know this is a simplistic question; but I've been using IntelliJ for months now, and can't find this simple feature.
Any idea? Thank you.
Idiot me. CMD-F4 or, as mentioned before, CTRL-F4.
Thank you all. I'll just bury myself now :)
hmm you can't because there is no default key binding for that, at least on OSX, however you can go here and define one:
The standard tip if you don't know how to do something in Idea is "Find Action..." (ctrl+shift+A in Windows) then type what you want to do, in this case close.
You will get a lot of different "close" actions and simply "Close" (ctrl+F4 in Windows) will be one of them.
You can also set a custom key combination in the settings menu
Click on File > Settings and select Keymap from the menu on the left, then scroll down to the Other section and set your preferred key combination for Close Active Editor:
When you double-click on Close Active Editor, a menu pops up allowing you to set a key combination, a mouse gesture, or even an abbreviation for the action. If the shortcut is already set somewhere else (as in my case with Ctrl-W) you'll get a notification and won't be able to set the shortcut until you remove the other one.
As with Matt Ball, I don't use IntelliJ but may also be CTRL+F4...
For MAC user, Cmd-W will close the active tab (file).
On Mac, you might like to use CMD + W, as this is the conventional shortcut for closing things e.g. Tabs in Chrome.
But by default this is usually associated with highlighting the current cursor block, so instead I use CTRL + W, rather than re-assigning.
e.g. (bottom right)
Also works for other IntelliJ IDEs, like WebStorm, etc.
IDEA->File->Setting->Search for "Close Active Editor".
Click on 'Add Keyboard Shortcut' -> Change it to "Ctrl+W". (Overwrite).
BOOM! you are universal now!
I'm on version 2020.4 and this has changed to Ctrl+4