WebStorm shortcut commands - webstorm

What are the shortcut tab commands, such as cw -> Console.Writeline() in VS and sout -> System.out.println() in InteliJ, for WebStorm?
Or where can I find them? Googling phrases such as "WebStorm shortcuts" and "WebStorm shortcut phrases" only give me the ordinary keyboard shortcuts, which is not what I am looking for.

It's called Live Templates.
You can find them under Settings > Editor > Live Templates.
The template for System.out.print() is sout.

Related

Navigate to the file from output in the terminal - WebStorm

Is it possible to tune WebStorm so that when I have something like this in my terminal window, then I just click on the filename and jump to it.
Not possible using built-in terminal (please vote for IDEA-118566 and IDEA-154439).
Awesome Console plugin might be a solution; but it doesn't support built-in terminal (https://github.com/anthraxx/intellij-awesome-console/issues/23)
there is also Output Link Filter plugin that provides similar functionality, but it looks outdated and (also) doesn't work in built-in terminal
Update (2022): IDEA-118566 is already fixed, links should work. Please note that providing links for particular output needs adding specific logic handing such output. Thus, if you encounter missing links in a particular output, please file a separate issue request describing link output format and steps to reproduce such output.
Webstorm does in fact now have this functionality.
Note that the bug about this functionality being missing (linked in another answer) has been marked as fixed: https://youtrack.jetbrains.com/issue/IDEA-118566.
It's not quite a single click solution, but what I do, is double click the text so that it auto selects and copies the path, including line and char numbers to clipboard. Then use the shortcut for Goto File.... Hit paste (cmd+v) then Enter and it will take you to the exact location.
For me, the shortcut for Goto File... is cmd+shift+O - you can check your shortcut in the menu Navigate -> File...
You can use the following format to output text in the terminal via console.log and the path will be clickable:
at ($FILE_FULL_PATH:$LINE_NUMBER:$SYMBOL_NUMBER)
Example with the full path to the file:
at (/home/ubuntu/project/index.js:12:55)
However, if you're running WebStorm with exact file path's project's folder, you can use the following format:
at (./project/index.js:12:55)
I installed Awesome Console plugin and with this plugin, all files and links in the console and terminal will be highlighted and can be clicked. Source code files will be opened in the IDE, other links with the default viewer/browser for this type.
You can jump to files from the terminal with left click
Just select file path (dblclick) & press "shift" twice (search everywhere) & press "enter"...

Is there a way to find matching #if, #else, #elif & #endif in Eclipse?

I have some long C & C++ header files with a lot of nested #if statements in them.
#if FOO
...
#elif BLAR
#ifndef WIDGET
#endif
#else
...
#end
Is there a way to jump between matching statements in Eclipse? I have found a similar question that says it is possible in Visual Studio which suggests that the CTRL + ] key combination should do it, but that seems to only work for matching braces.
No, there is not a way. However, this bug report submitted in 2007 requests this feature: https://bugs.eclipse.org/bugs/show_bug.cgi?id=182579.
If you want this feature, go there and vote on it to raise this request's importance and give it more priority. You might also leave a comment.
Until this feature is added, a super lousy sort of work-around, as you suggested, is to use the "Find/Replace" dialog and "Find Next"/"Find Previous" shortcut keys, searching for the # character.
Steps:
Ctrl + F then enter # in the "Find" box. Press the "Find" button. This will jump to the next # character it finds. With the # character now cached in the Find/Replace dialog, you may close the "Find/Replace" dialog box and use the shortcut keys if you like:
Ctrl + K = "Find Next"
Ctrl + Shift + K = "Find Previous"
You may optionally change these keys via the settings under Window --> Preferences --> General --> Keys (source).
You may use CTRL+Shift+L to see the "Show Key Assist" List of shortcuts (depending on the context), as explained by this answer here. Continue pressing CTRL+Shift+L a couple more times to automatically open up the Window --> Preferences --> General --> Keys settings window.
Tested in Eclipse IDE for C/C++ Developers v4.7.3a in Ubuntu 14.04.
Please vote on the Eclipse feature request "bug" above to get the developers to add in a proper solution.
It seem that with the cursor on a #statment Ctrl+k will move down the file to a matching statement while Ctrl+K will move in reverse.
While writing this up I came across a Visual Studio 2010 question: How to jump to matching #if/#elif/#endif statements? This question states that Ctrl K / Ctrl J will do what I want in Visual C++ 6.0.
As shown above, the Eclipse specific key command also uses k.
I also found that Ctrl+L brings up a a list of keyboard shortcuts and lists the Ctrl+k as Find Next and the Ctrl+K as Find Previous. Pressing Ctrl+L a second time takes you to the Preferences > Keys menu where it is possible to add new combinations.

How do I turn off auto-complete for Code::Blocks

As I am typing in Code::Blocks, I would prefer to type code directly without having the editor insert closing parentheses and brackets.
I chose the disable code-completion in Settings > Editor > Code Completion, but this feature does not disable auto complete features with closing characters.
What is the right setting for turning off this feature in Code::Blocks?
(Be aware this could happen to you by the pronoun censors: https://www.theregister.co.uk/2019/10/08/stack_overflow_apology/)
"Settings -> Editor... -> General settings -> Indent options -> Brace completion"
I got it,How to disable the auto brace and etc.....Tools>Editor option>Completion....you will find two tabs under the main tab Code completion and Symbol completion....Disable both tick marks of it and free to write coding....
You have to go to:
"Settings -> Editor X -> General Settings -> Indent options -> Complete brackets"
And with that, it would have to work
Tool=>Editor Options=>Completion tab=>symbol completion
Unselect the ones that are not desirable

How to change indentation mode in Atom?

I haven't been able to figure this out yet. Atom seems to use spaces as the default indentation mode. I prefer to have tabs instead though. Sublime Text has built in functionality for switching and converting indentation.
Anyone found out how to change the indentation mode of Atom?
Some screenshots from Sublime Text:
See Soft Tabs and Tab Length under Settings > Editor Settings.
To toggle indentation modes quickly you can use Ctrl-Shift-P and search for Editor: Toggle Soft Tabs.
Go to File -> Settings
There are 3 different options here.
Soft Tabs
Tab Length
Tab Type
I did some testing and have come to these conclusions about what each one does.
Soft Tabs - Enabling this means it will use spaces by default (i.e. for new files).
Tab Length - How wide the tab character displays, or how many spaces are inserted for a tab if soft tabs is enabled.
Tab Type - This determines the indentation mode to use for existing files. If you set it to auto it will use the existing indentation (tabs or spaces). If you set it to soft or hard, it will force spaces or tabs regardless of the existing indentation. Best to leave this on auto.
Note: Soft = spaces, hard = tab
Add this to your ~/.atom/config.cson
editor:
tabLength: 4
OS X:
Go to Atom -> prefrences or CMD + ,
Scroll down and select "Tab Length" that you prefer.
You could try going to "Atom > Preferences > Editor" and set Tab length to 4.
This is for mac. For windows you will have to find the appropriate menu.
Adding #Manbroski answer here that worked for me:
try Ctrl-Shift-P Editor: Toggle Soft Tabs
Late to the party, but a clean way to do this on a per-project basis, is to add a .editorconfig file to the root of the project. Saves you from having to change Atom's settings when you're working on several projects simultaneously.
This is a sample of a very basic setup I'm currently using. Works for Atom, ST, etc...
http://editorconfig.org/
# Automatically add new line to end of all files on save.
[*]
insert_final_newline = true
# 2 space indentation for SASS/CSS
[*.{scss,sass,css}]
indent_style = space
indent_size = 2
# Set all JS to tab => space*2
[js/**.js]
indent_style = space
indent_size = 2
This is built into core: See Settings ⇒ Tab Type and choose auto:
When set to "auto", the editor auto-detects the tab type based on the contents of the buffer (it uses the first leading whitespace on a non-comment line), or uses the value of the Soft Tabs config setting if auto-detection fails.
You may also want to take a look at the Auto Detect Indentation package. From the docs:
Automatically detect indentation of opened files. It looks at each opened file and sets file specific tab settings (hard/soft tabs, tab length) based on the content of the file instead of always using the editor defaults.
You might have atom configured to use 4 spaces for tabs but open a rails project which defaults to 2 spaces. Without this package, you would have to change your tabstop settings globally or risk having inconsistent lead spacing in your files.
I just had the same problem, and none of the suggestions above worked. Finally I tried unchecking "Atomic soft tabs" in the Editor Settings menu, which worked.
If you are using the version 1.21.1:
Click on Packages / Settings View / Open
Select "Editor" on the left side panel
Scrool down until you see "Tab Length"
Edit the value. I like to set it to 4.
Now, just close the active tab pane and you are done.
Tab Control gives nice control in a similar manner to that described in your question.
Also nice, for JavaScript developers, is ESLint Tab Length for using ESLint config.
Or if you're using an .editorconfig for defining project-specific indentation rules, there is EditorConfig
If you're using Babel you may also want to make sure to update your "Language Babel" package. For me, even though I had the Tab Length set to 2 in my core editor settings, the Same setting in the Language Babel config was overriding it with 4.
Atom -> Preferences -> Packages -> (Search for Babel) -> Grammar -> Tab Length
Make sure the appropriate Grammar, There's "Babel ES6 Javascript Grammar", "language-babel-extension Grammar" as well as "Regular Expression". You probably want to update all of them to be consistent.
If global tab/spaces indentation settings no longer fit your needs (I.E. you find yourself working with legacy codebases with varied indentation formats, and you need to quickly switch between them, and the auto-detect isn't working) you might try the tab-control plugin, which sort of duplicates the functionality of the menu in your screenshot.
When Atom auto-indent-detection got it hopelessly wrong and refused to let me type a literal Tab character, I eventually found the 'Force-Tab' extension - which gave me back control.
I wanted to keep shift-tab for outdenting, so set ctrl-tab to insert a hard tab. In my keymap I added:
'atom-text-editor':
'ctrl-tab': 'force-tab:insert-actual-tab'
Changing language-specific configuration
I changed the default tab settings, and it still did not impact when I was editing my files, which were Python files. It also did not change when I modified the "*" setting in ~/.atom/config.cson . I don't have a good explanation for either of those.
However, when I added the following to my config.cson, I was able to change the tab in my Python files to 2 spaces:
'.source.python':
editor:
tabLength: 2
Thanks to this resource for the solution: Tab key not respecting tab length
All of the most popular answers on here are all great answers and will turn on spaces for tabs, but they are all missing one thing. How to apply the spaces instead of tabs to existing code.
To do this simply select all the code you want to format, then go to Edit->Lines->Auto Indent and it will fix everything selected.
Alternatively, you can just select all the code you want to format, then use Ctrl Shift P and search for Auto Indent. Just click it in the search results and it will fix everything selected.
Yet another answer: If you are using Atom Beautify note that it has its own settings to determine the "Indent Char".

Aligning code/Code margin in Visual Studio

So when I used to program in java I did it in Eclipse. Whenever my code had all the same margin I just had to select everything and press Ctrl+i.
Now I use Visual Studio Professional for programming in C++
The question is simple enough: How to properly set a margin to the lines of code so that it all looks well and I can easily tell what code belongs inside what brackets.
Thank you beforehand, and I hope this question is not closed. I tried searching for an answer, but found none.
Select what needs formatting and CTRL+K followed by CTRL+F.
Found in the C++ Visual Studio 2010 Keybinding Poster:
Select the code you want to format then:
CTRL + K, F or
CTRL + E, F
Formats the current selection
according to the indentation and
code formatting settings specified on
the Formatting pane under Tools |
Options | Text Editor | C/C++.
You can always find out what the actual shortcut is and use it or customize it:
go to Tools -> Options.
expand Environment, select Keyboard
type 'Format' in the textbox labeled 'Show command containing:'
find the row that reads 'Edit.FormatDocument'
read the value in the 'Shortcuts for selected command:' dropdown
If you want to change it, use a new shortcut key in the 'Press shortcut keys' box, then click 'Assign'.