This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 258744 - Multicaret: Multicaret-Shortkeys are not provided for other keymaps than NetBeans
Summary: Multicaret: Multicaret-Shortkeys are not provided for other keymaps than NetB...
Status: RESOLVED FIXED
Alias: None
Product: editor
Classification: Unclassified
Component: Key bindings (show other bugs)
Version: 8.2
Hardware: PC Windows 7
: P2 normal (vote)
Assignee: Ralph Ruijs
URL:
Keywords: NETFIX
Depends on:
Blocks:
 
Reported: 2016-04-09 11:51 UTC by markiewb
Modified: 2016-07-25 01:55 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
The keymap proposal (24.43 KB, image/png)
2016-04-12 22:25 UTC, markiewb
Details

Note You need to log in before you can comment on or make changes to this bug.
Description markiewb 2016-04-09 11:51:55 UTC
ACTUAL 
Multicaret-Shortkeys are only provided for the NetBeans-Keymap

EXPECTED
Multicaret-Shortkeys are also provided for the other keymaps. At least the Eclipse keymap and the Intellj keymap (for users, who come from a different IDE)

Product Version: NetBeans IDE Dev (Build 201603200001)
Updates: Updates available
Java: 1.8.0_71; Java HotSpot(TM) 64-Bit Server VM 25.71-b15
Runtime: Java(TM) SE Runtime Environment 1.8.0_71-b15
Comment 1 markiewb 2016-04-12 22:23:34 UTC
"For all keymaps (NetBeans/Eclipse/IntelljIdea) take the shortcuts provided by IntelljIdea itsself. 
The IntelljIdea guys have a NetBeans keymap for us without conflics, so lets use it."


<table cellspacing="0" border="0">
	<colgroup width="324"></colgroup>
	<colgroup width="212"></colgroup>
	<colgroup width="655"></colgroup>
	<tr>
		<td height="17" align="center"><b><font face="Liberation Serif">Description</font></b></td>
		<td align="center"><b><font face="Liberation Serif">Netbeans &ndash; ACTUAL</font></b></td>
		<td align="left"><b>Proposal for NetBeans, Eclipse, Idea-Keymap</b></td>
	</tr>
	<tr>
		<td height="17" align="left"><font face="Liberation Serif">Add caret and enter multi-caret mode</font></td>
		<td align="left"><font face="Liberation Serif">Alt+Shift+click</font></td>
		<td align="left"><font face="Liberation Serif">Alt+Shift+click</font></td>
	</tr>
	<tr>
		<td height="17" align="left"><font face="Liberation Serif">Duplicate Insertion Point Up</font></td>
		<td align="left"><font face="Liberation Serif">Alt+Shift+[</font></td>
		<td align="left"><font face="Liberation Serif">Alt+Shift+[</font></td>
	</tr>
	<tr>
		<td height="17" align="left"><font face="Liberation Serif">Duplicate Insertion Point Down</font></td>
		<td align="left"><font face="Liberation Serif">Alt+Shift+]</font></td>
		<td align="left"><font face="Liberation Serif">Alt+Shift+]</font></td>
	</tr>
	<tr>
		<td height="17" align="left"><font face="Liberation Serif">Remove Last Caret</font></td>
		<td align="left"><font face="Liberation Serif">Alt+Shift+U</font></td>
		<td align="left"><font face="Liberation Serif">Shift&nbsp;+&nbsp;Alt&nbsp;+&nbsp;J&nbsp;(Shift&nbsp;+&nbsp;Ctrl&nbsp;+&nbsp;G for Mac OS X)</font></td>
	</tr>
	<tr>
		<td height="17" align="left"><font face="Liberation Serif">Remove all extra carets and return to normal mode</font></td>
		<td align="left"><font face="Liberation Serif">Escape</font></td>
		<td align="left"><font face="Liberation Serif">Escape</font></td>
	</tr>
	<tr>
		<td height="17" align="left"><font face="Liberation Serif">Add Selection For Next Occurrence</font></td>
		<td align="left"><font face="Liberation Serif">Ctrl+D</font></td>
		<td align="left"><font face="Liberation Serif">Alt&nbsp;+&nbsp;J&nbsp;(Ctrl&nbsp;+&nbsp;G for Mac OS X)</font></td>
	</tr>
	<tr>
		<td height="17" align="left"><font face="Liberation Serif">Select All Occurrences</font></td>
		<td align="left"><font face="Liberation Serif">Alt+F3</font></td>
		<td align="left"><i><font face="Liberation Serif">Shift&nbsp;+&nbsp;Ctrl&nbsp;+&nbsp;Alt&nbsp;+&nbsp;J&nbsp;(Ctrl&nbsp;+&nbsp;Cmd&nbsp;+&nbsp;G&nbsp;for Mac OS X) </font></i></td>
	</tr>
	<tr>
		<td height="17" align="left"><br></td>
		<td align="left"><br></td>
		<td align="left"><br></td>
	</tr>
	<tr>
		<td height="17" align="left"><font face="Liberation Serif"><br></font></td>
		<td align="left"><font face="Liberation Serif"><br></font></td>
		<td align="left"><br></td>
	</tr>
	<tr>
		<td height="32" align="left"><font face="Liberation Serif"><br></font></td>
		<td align="left"><font face="Liberation Serif"><br></font></td>
		<td align="left"><b><font color="#FF0000">For all keymaps (NetBeans/Eclipse/IntelljIdea) take the shortcuts provided by IntelljIdea itsself. <br>The IntelljIdea guys have a NetBeans keymap for us without conflics, so lets use it.</font></b></td>
	</tr>
	<tr>
		<td height="17" align="left"><br></td>
		<td align="left"><br></td>
		<td align="left"><br></td>
	</tr>
	<tr>
		<td height="17" align="left"><br></td>
		<td align="left"><br></td>
		<td align="left">http://blog.jetbrains.com/idea/2014/03/intellij-idea-13-1-rc-introduces-sublime-text-style-multiple-selections/</td>
	</tr>
	<tr>
		<td height="17" align="left"><br></td>
		<td align="left"><br></td>
		<td align="left">http://blog.jetbrains.com/ruby/2014/03/whats-mining-multiple-cursors-and-selection/</td>
	</tr>
	<tr>
		<td height="17" align="left"><br></td>
		<td align="left"><br></td>
		<td align="left">https://www.jetbrains.com/help/idea/2016.1/multicursor.html?origin=old_help</td>
	</tr>
</table>
Comment 2 markiewb 2016-04-12 22:25:07 UTC
Created attachment 159240 [details]
The keymap proposal

Sorry I could not enter a HTML here as you can see in the previous comment. So I give it a try as an image
Comment 3 Miloslav Metelka 2016-04-25 13:07:08 UTC
Thanks for the suggestion. We will extend non-NB keymap profiles accordingly.
Regarding NB profile there are several problems with the proposed changes:

Alt+J     for "Add Selection for Next Occurrence"
 - we generally don't use Alt+letter shortcuts since they may conflict with main menu items shortcuts.

Alt+Shift+J    for "Remove Last Caret"
 - it's currently assigned to Select Identifier under Caret. IMO we could move Select Identifier to Ctrl+T shorcut which is currently Swap Letters which is IMHO seldom used so the Swap Letters could remain unmapped. Then the Alt+Shift+J could possibly be used to remove-last-caret.

Alt+Shift+Click    for Add Caret
 - although we still use it we plan to change it to Ctrl+Shift+Click since Alt+Shift is used for national keyboards switching and when releasing Alt+Shift the keyboard layout gets switched which is undesired.
Comment 4 markiewb 2016-04-25 20:00:41 UTC
(In reply to Miloslav Metelka from comment #3)
> conflict with main menu items
> Alt+Shift is used for national keyboards switching

You are right Miloslav. I was not aware of it. Mmh - it is much more difficult than I thought.
Comment 5 Vladimir Voskresensky 2016-04-27 09:00:21 UTC
(In reply to markiewb from comment #4)
> (In reply to Miloslav Metelka from comment #3)
> > conflict with main menu items
> > Alt+Shift is used for national keyboards switching
> 
> You are right Miloslav. I was not aware of it. Mmh - it is much more
> difficult than I thought.
Anyway, I think you are right, that Add New Caret/Remove Last Caret shortcuts should be very "similar". Preferably differs only by Shift like "opposite direction" actions
Comment 6 Ralph Ruijs 2016-04-27 10:47:27 UTC
http://hg.netbeans.org/jet-main/rev/d0d54750a0d4 updates the keyboard shortcuts as it is shown on http://wiki.netbeans.org/NewAndNoteworthyNB82

any comments are very welcome
Comment 7 Ralph Ruijs 2016-04-27 11:11:53 UTC
#dd6d65d18d6e updates the Idea profile to the proposed keymap
Comment 8 Quality Engineering 2016-04-28 02:02:55 UTC
Integrated into 'main-silver', will be available in build *201604280002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/d0d54750a0d4
User: Ralph Benjamin Ruijs <ralphbenjamin@netbeans.org>
Log: #258744 - Update multicaret shortcut keys
Comment 9 juanlopez4691 2016-05-02 20:24:21 UTC
Having multi-caret/multi-selection in NetBeans is awesome! Also, I like the new shortcuts.

I just find something missing: an action/shortcut to skip current occurrence from being added to selection and jump to next.

In Sublime Text this is done with the squence "CTRL+K" "CTRL+D". I think this is really useful!
Comment 10 markiewb 2016-07-20 23:15:53 UTC
Reopen, the eclipse keymap has not been updated.
Comment 11 markiewb 2016-07-21 21:43:35 UTC
(In reply to juanlopez4691 from comment #9)
> I just find something missing: an action/shortcut to skip current occurrence
> from being added to selection and jump to next.
> 
> In Sublime Text this is done with the squence "CTRL+K" "CTRL+D". I think
> this is really useful!

@juanlopez4691: File a new issue for that RFE!
Comment 12 markiewb 2016-07-21 22:20:39 UTC
(In reply to markiewb from comment #10)
> Reopen, the eclipse keymap has not been updated.

*fixed* - Multicaret-Shortkeys for Eclipse (new) and Idea (updated to logical modifiers)

http://hg.netbeans.org/core-main/rev/3bc443d3006c
Comment 13 Quality Engineering 2016-07-23 01:51:50 UTC
Integrated into 'main-silver', will be available in build *201607230002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/3bc443d3006c
User: Benno Markiewicz <markiewb@netbeans.org>
Log: #258744 - Multicaret: Multicaret-Shortkeys for Eclipse (new) and Idea (updated to logical modifiers)
Comment 14 Quality Engineering 2016-07-25 01:55:06 UTC
Integrated into 'main-silver', will be available in build *201607250002* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)

Changeset: http://hg.netbeans.org/main-silver/rev/4e0d46829c70
User: Benno Markiewicz <markiewb@netbeans.org>
Log: #258744 - Multicaret: Multicaret-Shortkeys for Eclipse (new) and Idea (updated to logical modifiers) - Revert

Revert previous fix http://hg.netbeans.org/core-main/rev/3bc443d3006c

Because the code completion cannot be closed via ESCAPE anymore