PHPstorm scrolling with keyboard - ide

I'am looking for an option to force scroll code when entering with keyboard cursor in example at 5 line from the end.
Default behavior is to scroll code when entering 1st or last visible line of code.
I would like to change it even for 10th from the beginning and 10th before last.

It appears the base IDE does not have an option for this. However, the behaviour is available in the IdeaVIM plugin (docs) under the scrolloff option.
'Scroll offset' mode can be enabled for the current session with the command:
:set scrolloffset=10
Add that to your ~/.ideavimrc to make it permanent.
NB: IdeaVIM changes the IDE to behave more like vim*, which may require some re-training.
If you're not familiar with Vim:
Install the IdeaVIM plugin (via Settings → Plugins → Browse Repositores → type 'ideavim' in search)
Restart the IDE
Open a file
Note the caret is a block like █; this indicates 'normal' mode
Press : to enter the 'command' mode
Type set scrolloff=10 then Enter
Scroll around, notice the editor scrolls before the caret gets to the very top (or bottom)
Press i to enter 'insert' mode, and edit your file as usual
Press ESC to return to 'normal' mode
Interactive vim lessons
openvim.com
vim-adventures.com
* It seems difficult to have the plugin only modify the scrolloffset behaviour and leave the rest per the default IDE.

You can set "EditorMoveUpAndScroll" shortcut.

Related

Keyboard Shortcut to go full screen in Webstorm/IntelliJ Terminal tool window from terminal?

I googled but have not found any solving documentation/thread regarding this:
Is there a way to set keyboard shortcut to go full screen in Webstorm Terminal tool window from Terminal window?
I know shortcut shift+Command+' but that doesn't work for me inside terminal. I know by double clicking it you can toggle it to full screen but wondering that is it possible to set keyboard shortcut to do it as I do this operation often.
Try the "Maximize tool window" command in the menu - Window->Active Tool Window->Maximize tool window
Or from terminal tool menu - Resize-> Maximize tool window
Warning! The following shortcut only works if "Override IDE shortcuts" option is disabled
To map a shortcut to this, open the Preferences dialog and type "Maximize tool window" to search the settings. It should find a match in the keymap section, and you can then use it to assign a shortcut.
It will warn you if you already have something assigned to your choice.
Warning! The following option will cause some problems in Terminal, for example, editing in vim (Esc key) etc.
Also, you can to checkout the "Override IDE shortcuts" setting in the Terminal section of the Preferences. This is enabled by default - I turn it off and find it resolves a lot of niggles I have with using the terminal. The shortcut above only works if it's disabled.
In Mac cmd+shift+fn+12 will do the trick
I mostly like zen mode - cmd(ctrl)+K,Z
enter image description here
Double press 'escape' from anywhere will bring you back to editor tab.

Focus on dialog with ideavim

I have some handy mappings set up in my ~/.ideavimrc some of which result in IntelliJ opening a new window/dialog box. For example the following line lets me type \t and it'll open IntelliJ's "jump to test" dialog box which lets me jump to an existing test or create a new test file:
:map \t :action GotoTest<CR>
This almost works great. The only issue is that when the dialog box pops up the focus is still on the editor window, not the dialog box. As a result I can't simply use the arrow keys to select my option and hit enter. Instead, I have to use the mouse. As a good code nerd, I abhor the mouse. So, how do I get the keyboard focus to change? Is this possible?
It's fixed in the master branch https://youtrack.jetbrains.com/issue/VIM-796, but the fix hasn't been released yet. You can download a CI build and help testing IdeaVim. See https://github.com/JetBrains/ideavim for more details.

IntelliJ moving my mouse cursor in random positions

IntelliJ sometimes moves the cursor on default positions, like over the Find button when you do a Find in Path.
However recently it is moving my cursor to completely random positions. I suspect this is because of my multi-monitor setup.
A computer/IntelliJ restart doesn't fix the issue.
How can I disable this "automatic move" thing entirely?
you can disable "automatic moves" by Settings > Appearance & Behavior > Appearance, checkbox Automatically position cursor on default button. Docs
Edit (2021-02-15): Something changed in the UI in recent versions. If you're having trouble finding the option you can edit the registry.
Here is the request for missing option:
https://youtrack.jetbrains.com/issue/IDEA-99985
The option should be disabled though. Try checking
focus.follows.mouse.workarounds in registry.
You can open the registry by searching all Actions for Registry, then edit that value.
Press Ctrl+Alt+Shift+/ and select "Registry" from the menu that appears.
Then set ide.settings.move.mouse.on.default.button value to disable.
Registry dialog image
From the official Intellij documentation: https://www.jetbrains.com/idea/help/appearance.html#d1207234e126
To disable this quickly in Intellij 15 and newer (which have the 'Search Everywhere' feature), do the following:
Press Shift+Shift
Type UI: auto. This should popup the following:
Highlight that option and press enter.

Disable copying entire line when nothing is selected in Intellij

I have recently started using Intellij and I noticed that by default, when you do ctrl+c for copying something when you have nothing selected, it copies the entire line into the clipboard overriding what I had in there before.
This is really annoying yet I cannot seem to figure out how to disable it. I am aware that there is a paste history you can use however this is not what I am after, I just want to disable it like you can do with sublime text.
Is there a way to disable this behaviour so that when I press ctrl+c and nothing is selected it just leaves the clipboard alone?
Since version 2021.2 there is a dedicated Don't copy/cut the current line when invoking the Copy or Cut action with no selection setting for this in Preferences | Advanced Settings on the Mac, Settings | Advanced Settings on other platforms.
For older IntelliJ Platform based IDE's the setting is more hidden:
Invoke Help | Find Action... (Ctrl (Cmd on Mac)+Shift+A), type Registry and select the Registry... item that appears. Enable the editor.skip.copy.and.cut.for.empty.selection option there. Be careful with the other configuration options, because it is possible to break your IntelliJ IDEA installation with an incorrect setting.
In Mac OS X:
Press cmd+shift+a.
Type registry and press return to
open the Registry.
Enable the editor.skip.copy.and.cut.for.empty.selection option.
Click Close.
I suppose it should be same as in WebStorm, or someone might be searching WebStorm solution as I did:
Open the settings: File > Settings > Advanced Settings (bottom of the list).
Start typing "editor".
Check the editor.skip.copy.and.cut.for.empty.selection
Click "OK" or "Apply"
On: WebStorm 2022.3.1
in PHPStorm -> From the Help menu, select Edit Custom Properties.
and paste
editor.skip.copy.and.cut.for.empty.selection = true

Intellij - what is this strange selection, and how do I turn it off?

See the screenshot below to see what I mean. Basically, Intellij only highlights the box I draw with the cursor, but leaves the rest of the editor untouched. I have no idea why it happens, and the only way to resolve it for now is to close and reopen the editor. I have observed the same behavior on a Linux box and a MacBook, both when editing Java and PHP files, so I am not sure it's a bug.
The desired behaviour is standard row selection, i.e. highlight all rows which I drag the cursor over.
I think you have enabled 'column selection'.
Option can be toggled via these methods:
Menu Bar -> Edit -> Column selection mode
Document Body -> Right Click -> Column selection mode
Keyboard Shortcut -> ALT + SHIFT + INSERT
The column select mode is enabled, use Alt+Shift+Insert to enable or disable this mode.
Shift-command-8 to toggle it back and forth on OSX.