Eclipse Create your own system.out.println shortcut - java

How can I change the keyboard shortcut in eclipse from sysout + control space to sout + enter like in sublime.

How can I change the keyboard shortcut in eclipse from sysout +
control space to sout + enter like in sublime.
The short answer is you can't. But you can modify an existing template, or add a new template, to create a shortcut of sout that will generate
System.out.println();
To do that:
Select Window > Preferences > Java > Editor > Templates.
Scroll down the list of existing templates and select the one named sysout.
Click the Edit... button.
Change the Name field from sysout to sout, and click OK.
You will be invited to either replace sysout with sout, or add sout as a new template. Pick whichever option is appropriate.
That's all there is to it. In the editor you can now type sout and press Ctl + Space to generate
System.out.println();
However, there is no real need to do any of that because when you press Ctl + Space after typing sout the template sysout is offered as the first possible match:
So without making any changes to Eclipse you can type sout and press Ctl + Space, then Enter (to select the first entry in the dropdown list) to almost achieve what you want.
While editing in Eclipse it is not possible to have any action triggered simply by pressing the Enter key. That's because the Enter key already has a well defined function: to move to the next line, taking any text with it that is to the right of the cursor.
If you could generate System.out.println(); just by typing sout and pressing Enter you wouldn't be able to create a line containing only sout.

Related

How to select all things inside brackets in Intellij idea?

I'd like to know how to select text between curly brackets, with just two or three shortcut keys.
E.g.: If I have code like this:
System.out.println("Hello World");
only the text "Hello World" should be selected.
Based on documentation, you can use:
On Windows/Linux
Ctrl+W / Ctrl+Shift+W
On MacOS
⌥↑ / ⌥↓
Each subsequent call to the shortcut selects an increasing range of code (or decreasing, for second shortcut).
try this plugin out:
https://plugins.jetbrains.com/plugin/11322-bracket-selection
"default mouse shortcut: alt button1 doubleclick or hold alt -> double left click anywhere in between brackets in human terms"

Eclipse custom hotkey - print current line to standard out

Eclipse has a useful hotkey to assign current line to a local variable - when I type for instance:
Math.random()
and press ALT + SHIFT + L (Extract local variable), I can quickly change the line to
double random = Math.random();
I would like to use the same trick for printing it to std out, so that the Math.random() is being changed to:
System.out.println(Math.random());
Currently the fastet way to to this is to type syso and use content assist to use a template, but that requires manual copy pasting. Anyone knows a better way to do this?
Two options come to my mind to achieve your goal, but both of them require the selection of statement first.
After you select statement, press CTRL+SPACE, then type syso and hit Enter.
Selected statement will be placed inside System.out block:
System.out.println(statement);
Also you can prepare eclipse template (Window->Preference->Java->Editor->Content Assist->Templates), and give it some name:
System.out.println(${line_selection});${cursor}
After you select statement, press ALT+SHIFT+Z or select menu option Source->Surround With (also in context menu). Template you have created should be there so select it. Selected statement will be wrapped inside desired block of code.
As far as I am aware there is no shortcut available from the keys section of preferences. Is content assist really not fast enough for you in this case?

shortcut for system.out.println in sublime text 2

I want to have shortcut commands in sublime text 2.
I want to simply type sopl and press tab to generate System.out.println('text'); with the word 'text' selected and ready for me to replace it.
I want to simply type sop and press tab to generate System.out.print('text'); with the word 'text' selected and ready for me to replace it.
I have installed SublimeJava plugin but apparently there is no such short cut
You're looking for pl<tab> for System.out.println(|); and p<tab> for System.out.print(|);. It doesn't put the 'text', but it does put your cursor in the right place to type. Also note that, like Eclipse or IntelliJ, when you expand a Snippet, Tab will continue to move you through the positions in the Snippet until you've filled in all the blanks.
These are called "Snippets", and you can find them under Tools -> Snippets.... You can add new ones with Tools -> New Snippet....
it is very simple, just go to Tools>Developer>New Snippet.. remove all the code there and copy paste the below code...
<snippet>
<content><![CDATA[System.out.println("${1:text}");]]></content>
<tabTrigger>sysout</tabTrigger>
<scope>source.java</scope>
</snippet>
now press ctrl+s and give some name (make sure that you're saving file with .sublime-snippet extension) and click on save.
now open any .java file and type sysout and press tab that is it...
you can also refer this article for more info..

Eclipse copy/paste entire line keyboard shortcut

Anyone know the keyboard shortcut to copy/paste a line into a new line in Eclipse, without having to highlight the entire line?
ctrl-alt-down turns my whole screen upside down (I'm on windows). Interestingly, that's what's specified in the windows->preferences.
Ctrl-Alt-Down: copies current line or selected lines to below
Ctrl-Alt-Up:: copies current line or selected lines to above
Ctrl-Shift-L: brings up a List of shortcut keys
See Windows/Preference->General->Keys.
(Tested on Windows) [Per below comments, works as well in Ubuntu, IBM RTC 4 / RSA 9]
In Eclipse, press Ctrl+Shift+L two
times in succession (or Ctrl + 3 > type: Keys > Enter).
In 'type filter text' (search) text box, type Copy Lines
Select the filtered row, right click the 'Binding' field, and do Select All
Press Ctrl+Shift+V
Give OK
From now on, for any line you want to duplicate, just press Ctrl+Shift+V.
You have to turn off the graphics hot keys that flip the screen. If you're on Windows, you need to right click on the Windows desktop and select "Graphics Properties..." (or something similar depending on your version of Windows). This will bring up a screen where you can manage graphics and display options, look for a place where you can disable hot keys, sometimes it's hidden under something like "Options and Support". Turn off the CTRL + ALT + ↑ and CTRL + ALT + ↓ hotkeys (alternatively you can just disable all graphics hot keys if you're not using them).
If you want to copy a line to the clipboard you can also use the trick:
Ctrl-Alt-Down
followed by
Ctrl-X
The drawback is that the file where you copy the line from becomes dirty.
Ctrl-D would delete a line
Ctrl-Z would undo deletion, with highlithing entire line
Ctrl-X/C cut or copy entire line
The advantage over Ctrl-Alt-Down followed by Ctrl-X suggested by other users is that it doesn't make eclipse think that the file was changed in any way. It's also faster and causes no problems even if the user has rotating screen issue with Ctrl-Alt-Down/Up keyboard shorcut. So there's no need to remap shorcuts for this.
Another way to go would be hitting Alt-Shift-Up until the entire line gets selected. If you've gone too far, of course you can select less with Alt-Shift-Down.
If Your Window pc, you may try this, it's also for STS:
Ctrl + win + Alt + Down :: Copy current line or selected line to below
Ctrl + win + Alt + Up :: Copy current line or selected line to above
I've written the linecopypaste plugin for Eclipse that mimics Visual Studio's copy/cut/paste behaviour. I've also found copycutcurrentline which appears to do the same.
On my Mac the default setting is is ALT+CMD+Down
You can change/view all key bindings by going Eclipse -> Preferences (shortcut CMD+,) and then General -> Keys
Ctrl+Alt+Down Copies current line to below like notepad++ (Ctrl+D)
If your whole screen is 180° rotted then you should disable your hotkey settings.
Right Click -> Graphics Options -> Hot Keys -> Disable
That it now you done try shortcut Ctrl+Alt+Down
Try this in MAC.
ALT + COMMAND + DOWN
it works.
If anyone using Mac computer the CTRL + ALT + DOWN keys doesn't work.
Try it with,
ALT + COMMAND + DOWN
It works.
We can assign any command to any action(given) in Eclipse
From Menu Bar go to
Window > Preferences
then search for the keys
then search copy line
then click on copy line and then click on command in Binding
and peform a command which you wish to use for duplicating line i use ctrl+shift+d
you can choose whatever you want
On Mac, I've tried the linecopypaste and it works great
cmd+c -> Copy current (unselected) line, just like "yy" command in Vi/Vim
cmd+v -> Paste it, like "p" command in Vi/Vim
Thank's Larsch for your work!
PD: Using Eclipse Luna 4.4.2 in Yosemite
I have to change the assigned key,
e.g.
Windows/Preference --> General --> Keys
Select "Duplicate Lines" under command
Click on "Binding"
Ctrl + Shift + D
Just another approach:
1) Alt+Up and Alt+Down (or Alt+Down and Alt+Up, order does not matter)
2) Ctrl+C
But of course vim's "yy" is the fastest :)
Disabling the hot keys for the Intel Driver worked for me for Windows 7. However, for Windows 8, when I tried that, it prevented eclipse from getting the Ctrl-Alt-Down keystoke. I had to change the Intel driver key binding to Ctrl-Alt-F10 (or something else it will accept). Eclipse then gets the Ctrl-Alt-Down and copies the line.
For mac, shift+alt+down_arrow works in netbeans' editor.
It's working with me on ,
Eclipse + Spring tool suite .
ALT + COMMAND + DOWN
I am using Windows 7. To disable that all I did is to Right click on the Windows desktop and select "Graphics Properties" ->Options. Then selected "Off" at the left side on the resulting screen. This disabled all hotkey combination. I think there is no way to disable only some them, its all or none. Anyway I didn't need them. So now crtl+Alt+Up and Crtl+Alt+down works for me in Eclipse and my screen stays same :)
I think similar option also exist in other versions of Windows. Have fun :)
For personal usage, I add a vim plugin like Vrapper to Eclipse and just use yy to copy entire line.
The Ctrl+Alt+Down / Ctrl+Alt+Up flips my screen so I overrode that in the Eclipse shortcuts via
Window => Preferences => General => Keys.
Search for "dupl" to find the Duplicate Lines command. I overrode the default and chose Ctrl+Shift+D. For me, that's easy to remember just like Ctrl+D to delete lines
ctrl+alt+down/up/left/right takes precedence over eclipse settings as hot keys. As an alternative, I try different approach.
Step 1: Triple click the line you want to copy & press `Ctrl`-`C`(This will
select & copy that entire line along with the `new line`).
Step 2: Put your cursor at the starting of the line where you want to to paste
your copied line & press `Ctrl`-`V`.(This will paste that entire line & will
push previous existing line to the new line, which we wanted in the first place).
The combination of Ctrl + Shift + Alt + Down worked for me on Linux.
To copy text from the begining of line to the cursor position: ctrl + insert
It does the job and save a lot of time for me.
Another shortcut way to do this is press Ctrl+Shift+L and select which command you want to perform and hit enter
its best practice for beginner.
See how to make the eclipse default shortcut work ctrl alt↓
Select line: Put cursor on the line to copy, select line with ShiftHome if cursor in the end of line or ShiftEnd if cursor is in starting of line
Duplicate line below (default expected behavior) or above ctrl alt↓ or ctrl alt ↑ but the key here is you need to select the line/block
Some answers focus on disabling the screen Rotation in Windows or any other OS, that applies to prevent accidental keypress.

IntelliJ IDEA way of editing multiple lines

I've seen this done in TextMate and I was wondering if there's a way to do it in IDEA.
Say I have the following code:
leaseLabel = "Lease";
leaseLabelPlural = "Leases";
portfolioLabel = "Portfolio";
portfolioLabelPlural = "Portfolios";
buildingLabel = "Building";
What is the best way to append '+ "foo"' to every line? Column mode won't work since the lines are not correctly aligned on the right side... unless there is an easy way to right justify the text :P
Since Idea IntelliJ IDEA 13.1 there is a possibility to edit multiple lines.
Windows
Alt + Shift + Mouse click
macOS
Option + Shift + Mouse click
for selection. More about this new improvement in the IntelliJ blog post here. Very useful feature.
I use Column Selection Mode (Cmd+Shift+8 on Mac) which allows to create multiple cursors via Shift+Up or Shift+Down then edit all the lines together.
Starting from IntelliJ IDEA 14 there is also Clone Caret Above / Below:
Windows: Ctrl, Ctrl+Up/Down
MacOS: Option,Option + Up/Down
(hold the second press of the modifier key, then press the arrow key)
Another keyboard-only approach. It's possible (since 13.1 version) to use Alt+J / Shift+Alt+J (Ctrl+G for OS X) shortcuts for creating multiple carets. Alt+J selects the next occurrence of the currently selected text and adds another caret.
Select the first semicolon
Then press Alt+J four times
Edit what you want to
Press Esc to return to the first line.
Place caret at end
Windows: CTRL + CTRL(Hold) + ↑ / ↓
Mac: option + option(Hold) + ↑ / ↓.
To place caret at the end of rows: move caret to top row, clone down to bottom, and click END.
Change Multi-caret Hotkey
To add a custom Keymap, CTRL+SHIFT+A, type keymap and click on the one with Settings as subtext. Search for Clone Caret Above and Clone Caret Below.
I mapped mine to ALT+SHIFT+↑ / ↓ on Windows and ⌘+↑ / ↓ on Mac.
Bonus
Try holding combinations of CTRL, SHIFT, and arrows for improved selection power.
Column mode works just fine: first select all the lines in column mode, then press END: each cursor will jump to the end of respective line.
On Linux (NO MOUSE NEEDED):
ALT + SHIFT + INSERT to enter block-mode
SHIFT + UP or SHIFT + DOWN to select multiple lines
END to jump to the end of each line
now type foo, it will append it to each line:
Now deselect everything with ESCAPE and switch back to normal selection mode with ALT + SHIFT + INSERT.
Since WebStorm 2020.2 you can use AltShiftG to add carets at the end of each selected line.
The new action for working with multiple carets (Alt+Shift+G) lets you quickly place carets at the end of each selected line and removes the selection as soon as all carets are added.
What’s new in WebStorm 2020.2
You could also do a vertical code block selection by clicking mouse wheel and dragging:
Select Next Occurrence:
Alt+J on Windows, Ctrl-G on Mac OS X
Unselect Occurrence:
Alt+Shift+J on Windows, Ctrl-Shift-G on Mac OS X
Select All Occurrences:
Ctrl+Alt+Shift+J on Windows, Ctrl-Cmd-G on Mac OS X
for more reference: link
I just use the macros for this sort of thing. I start recording the macro, do it once, then play back the macro on each line I want to modify. You'd be amazed at how fancy you can get with the macro record/playback feature.
It took me a while to find out, but on a Mac you can double-press Option (press it once, release, press it again, keep it pressed) and use Up/Down keys to create/remove carets as you wish.
You can also hold Shift+Option and click to create/remove carets at specific points.
ALT + CTRL + SHIFT + CLICK on linux
Hold ALT and use the mouse for click and drag
It's Option + Shift + Click for Macbook.
All Important Intellij Shortcuts: https://docs.google.com/document/d/1KagEr4hDmTugMJJLsYUgc122zXEnbj4A2vHoe8PtKpo/edit?usp=sharing
I hold (Shift + option + command) then click where ever I want the extra cursor to go. Using Webstorm and on a Mac
In this case you can also just select the piece of code in which you want to do this and perform a replace on it. Replace:
";
with:
" + "foo";
So in case you didn't know: If you have text selected while you perform a replace (Ctrl+R or Cmd+R) it will only apply to the selected piece of text.
For newer versions use: Alt + Shift + Insert
You can set multiple carets from the search and replace tool.
Ctrl + R to open Search & Replace tool
Write the character or word identifying the beginning of each recurrence to edit
Clic on 'Select all occurence' in the Search & Replace tool, IntelliJ will put a caret for each occurence
Live the magic
For Mac:
Option + Shift + Click & Drag
What I usually use (NetBeans, but I believe it is simple to use in any IDE) is find&replace.
You just find ;\n and replace it with + $foo;\n then you don't apply to ALL lines but you place cursor on the first line and you just hit "replace" button (depends on your IDE I suppose) 7 times to change 7 lines in no time. Easy and simple and it should be done with the most basic and the most advanced IDE you can find.
EDIT:
In IntelliJ (don't know if it works in other IDEs too) you can use your regexp search&replace to selection only so you can actually use "replace all"
For mac users it's : ALT + SHIFT + Click
All the above answer are great, but if you want multiline edit at the end of lines then you have press "End" key while your multiline selection is active.
For Mac Sequence of command will be:
shift option click # select a set of lines
command right arrow # go to the end of lines
This will do multiline select at the end of the line and you can edit it as required

Categories