When I copy a piece of clojure code into Eclipse, how could I fix the format problem? In some text editors, there's reindent/format command or shortcut, is there a way to handle code formating in Eclipse?
Ctrl+A, then Ctrl+I
Ctrl+A for Select all,
Ctrl+I for indent the current line.
Related
In Neatbeans, unindent works as expected when multiple lines are selected. But consider the following, where the pipe character | symbolizes the cursor position in the editor:
(a) Cursor at start of line (no selection)
|hello world!
(b) Cursor inside of line (no selection)
hell|o world!
In Netbeans, when I hit Shift+Tab on version (a) then the indentation is removed. This is what I expect.
However, when I hit Shift+Tab on version (b) then nothing happens. This is different from the code editors that I am used to. I would expect the indentation to be removed, or that the cursor moves to the start of the line, such that the next Shift+Tab will remove the indentation.
Is there a config in Netbeans that makes unindent via Shift+Tab work when the cursor is inside the line?
To shift the line to the left, regardless of the cursor position you can use the "Shift line left" editor action. In the default NetBeans mapping this is assigned to Alt+Shift+KP_LEFT and Alt+Shift-LEFT
Just open the keymap options page and search for the action "shift line"
It's not exactly what you are asking, but you could try to remap that action to "Shift-Tab" and see if it works.
TLDR: There seems to be a bug in the way NetBeans handles indenting/unindenting.
I would expect the indentation to be removed
I don't see any formal documentation on how unindenting is supposed to work in NetBeans, but it appears to move the text to the right of the cursor to the left, as long as there is only whitespace to the left of the cursor. While that is different to how unindenting works in other code editors such as Intellij IDEA and Eclipse, where the entire line is shifted to the left even when the cursor is poitioned within the text, it's not necessarily incorrect.
If you want to unindent in NetBeans there are two simple alternatives: either position the cursor at the start of the line, or select some text - anything at all! - on that line before unindenting.
Some comments in the NetBeans Bug Report Bug 212353 - Shift+Tab (Delete tab) shortcut does not work in editor may be relevant:
Please note that those actions should be inverse - I mean when you
select a block and you hit <TAB> <TAB> <Shift-TAB> <Shift-TAB> you
should always end up with the same text. The same should be true if
you change the order to <Shift-TAB> <Shift-TAB> <TAB> <TAB> you
should end up with the same text.
That said, NetBeans is not adhering to that standard. Using your second example, pressing <TAB><TAB> works fine, but subsequently pressing <SHIFT><TAB> does nothing, so it is not possible to "end up with the same text". That looks like a bug (in Apache NetBeans 11.2 at least). You can raise a bug report here.
It's also worth noting that <Shift> + <Tab> is actually defined as the keymap for "Delete TAB" rather "unindenting".
Is there a config in Netbeans that makes unindent via Shift+Tab work
when the cursor is inside the line?
I don't think so. All you can do, using Tools > Options > Keymap, is to change the shortcut keys from <Shift> + <Tab> to something else, but that won't change the behavior.
On Atom (and many other editors), there is the auto-indent command which allows us to auto-indent the line the cursor is on. Is there an equivalent in Visual Studio Code ?
I know there is the formatter action on Visual Studio Code but from what i have seen, it can be used only to :
format a selection (ctrl-K ctrl-F)
format the hole document (ctrl + shift + I)
I would like to be able to format the line the cursor is on without reformating the whole document and without having to make a selection.
Basically, i would like to configure the [TAB] key so that when i press [TAB], it auto-indents only the line the cursor is on :
if there is nothing written on the line, it just put the cursor at the right place so that when i start writting, the code is correctly indented.
if there is already something written on the line, it audo-indents the line
Is it possible ?
So I have skimmed through the source code and seems there is no setting currently available to make this happen. There is a lot of work happening in pipeline for indentation
https://github.com/Microsoft/vscode/issues/17868
VSCode use Monaco Editor under the hood
https://github.com/Microsoft/monaco-editor/issues/612
The current python configs are located in
https://github.com/Microsoft/vscode/tree/master/extensions/python
I tried, but understanding how all this integrates and works together just to fix one indent issue was just overwhelming. So I would just for the time being open a enhancement request with VScode and let the experts take a call and do the job
Allow me to humbly suggest that you are looking for the solution in the wrong place.
I would suggest the following setting:
"editor.formatOnType": true,
You have focused on "tab" doing the correct indentation. But with this setting you need not press the tab key at all. Just type the line with a normal return at the end. Visual Studio Code will then indent (and format) that line correctly.
If you install the extension emacs-tab, you can do this:
{
"key": "tab",
"command": "emacs-tab.reindentCurrentLine",
"when": "editorTextFocus"
}
Which, as far as I understand you, does exactly what you want (and doesn't format the line in other ways, such as breaking it if it is too long, and so on).
This extension worked for me, and allows typing Tab with the cursor mid-line to get proper indentation similar to what I was used to on Emacs.
Note that it basically does the same as the extension recommended in this answer but at the time of this writing that extension appears to be unmaintained and has some open issues.
How can I do auto-completion of text in the Dymola model editor? Also, same question for the command prompt.
In the editor, start typing then hit Ctrl + space.
I don't know about the command prompt.
/Rene
I need to use Eclipse to edit a language that doesn't have a good major mode in Emacs. I'm using what it advertises as "Emacs keybinding scheme", but it has several distinctions, some of them just happen too often and are really annoying when they happen.
One such keybinding is the Ctrl+J, or in a more Emacs-friendly format: C-j. This combination is typically bound to insertion of new line and indentation before the caret (unlike Enter or RET, which just inserts a line ending character).
So, I went to the Preferences panel, the keys settings, but I can't find anything that would simply insert a newline character. I.e. I can unbind the C-j combination, but I don't seem to be able to assign it to do the insertion. Is there any way to do it? I only found "Insert Line (Above / Below) Current Line" command, but no analogue to self-insert-command etc.
This was one of the more important keybindings for me from emacs, so I really needed to get this to work.
Go to preferences->keys, choose emacs as the scheme, search for ctrl+j, and unbind it. It's set to incremental search by default, so I changed it to ctrl+s. Once it's unbound, it just works as it should. This has worked for me from eclipse 3.x to Juno.
I am looking for a quick way to select a line in netBeans.
For example for copy and paste. (in vim editor yy yank current line)
Most GUIs, including Netbeans, allow you to select a word by
double-clicking on it and an entire line by triple-clicking on it.
OR
selection-end-line (Shift+End)
selection-down (SHift+Down) for as many lines as you want.
I've been using Netbeans for a few months.
Ctrl + c will copy the entire line without selecting it.
Ctrl + e will delete the line without selecting it.
Ctrl + Shift + down or up arrows will duplicate the line.
I am late comer to this post, but with a solution. In netbeans 8.x, go to Tools -> Options -> Keymap. In that, search for Select Line. You will get an entry there. Under the field Shortcut, you can give your convenient shortcut. There is no shortcut by default