Quick Docstrings in Colaboratory - google-colaboratory

I'm starting to play with Colaboratory but I've noticed that shift-tab doesn't pop up Docstrings for functions as it does in Jupyter.
Is this functionality absent or just accessed some other way?

This is what helped me e.g.
Image( and then CTRL+Shift+Space bar
do it with only one bracket.

Shift-tab dedents. To see contextual help inline, hit tab after an open parens, e.g.,
import os
os.open(
Or, execute the cell with a trailing ? and help will open in the bottom pane, e.g,.
import os
os.open?

Ctrl + Space helped me. Both for docstring and autocomplete.

As of 2020-03-20 on Chrome, if you just mouse over the function, a small pop-up shows the input parameters.
As you start typing them auto completion is offered.
And if you press Ctrl while hovering, the function becomes a link that when clicked opens up the documentation of the function.
Autocomplete works with Ctrl+Space or simply Tab depending on situation.
Note: It must know the type of the object it is working with. So if you do data.transform() and data has no value yet, Colab won't know what to display because .transform() depends on what you apply it to. You can select the line(s) where data is created and run only those with Ctrl+Shift+Enter (run selected lines only).

If you're in a parenthesis or between arguments (eg after a comma), tab will show you the docstring -- so if you are typing something like print('hello', sep=''), then tab after the paren or between the comma and the next arg will show you the docstring.
Hope that it helped.

space works for me. If you've closed a pop-up docstring (e.g with the esc key), then you can reopen it by pressing space.
This will also input a space, so you can remove it with backspace but the docstring will remain in view. As usual, which docstring you get will depend on where your caret is.

In 2022 getting detailed doc string shortcut is definitely Ctrl+Space

Related

Shift Tab on Google Colab

Using the command "Shift-Tab" does not work in Google Colab. Does anyone know an alternative that can be used?
I tried using shift + tab during the command and after a parenthesis after the command. For example, it was used at "print" and then again at "print("
On Colab, for SHIFT+ TAB to work, you have to disable Automatically trigger code completions on Tools->Settings.
You also have to have already imported the library that you are trying to get the docstring. For example run the import in another code snippet.
All Shortcuts can be found using CTRL + MH or going to Tools->Keyboard Shortcuts
Add a ? character and run the cell. Example:
You can see the docstring also just pressing TAB on Colab.
e.g.: print( + TAB
If it doesn't work, disable the Automatically trigger code completions by going to Tools->Settings->Editor
The shortcut for showing the docstring on Colab is ALT+/

How can I enter a literal <TAB> character in IntelliJ/IDEA/PyCharm?

My configuration indents with four spaces, and I want to keep that. Occasionally (e.g. in a Makefile) I want to input a literal TAB character.
How can I force the IntelliJ-IDEs to input a tab or space, when it would not do so when I hit tab or space in that instance?
You seem to be asking two questions here:
1. How do I force IntelliJ IDE to input a tab, when it would not do so when I hit tab?
and
2. How do I force IntelliJ IDE to input a space, when it would not do so when I hit space?
I don't understand how the second case can arise. However, I have provided a solution to it as well.
Case 1. Insert a tab character when an IntelliJ IDE wants to replace it with spaces due to configuration
Solution
Use search and replace.
Details
Place the cursor where you want the tab to be
Press the X key
Select the X you just typed
From the main menu, choose Edit | Find | Replace to bring up the search and replace pane
Make sure there is an X in the search field
Enter \t in the replace field
Be sure the option Regex is checked
Be sure the option In Selection is checked
Click the Replace button
Case 2. Insert a space character when an IntelliJ IDE won't just let you type one (???)
Solution
Use search and replace.
Details
Place the cursor where you want the space to be
Press the X key
Select the X you just typed
From the main menu, choose Edit | Find | Replace to bring up the search and replace pane
Make sure there is an X in the search field
Enter a single space into the replace field
Be sure the option In Selection is checked
Click the Replace button
Install the plugin for Makefile support: https://plugins.jetbrains.com/plugin/9333-makefile-support
When I tried it today, this automatically use hard tabs in the editors for Makefile files.
Open another text editor, type a tab, and then copy and paste into the PyCharm editor. In MacOSX this worked for me using both Sublime Text 2 and TextEdit.
I can't think of any "direct" way. Probably the easiest way that I can think of is to write a Live Template to do it. See the help page on Live Templates for more information. When you write it, you may need to copy and paste a tab character in from another application.
However, when I tried it, IDEA saw it as just empty text and would not save it. So I used a variable with the "capitalize" function to capitalize a tab character.
Here's the template I created that you can paste into your templates. Now I type tab, hit the Tab key and I get a tab character. Of course you can change the abbreviation.
<template name="tab" value="$TAB$" description="Enter a tab Character" toReformat="false" toShortenFQNames="true">
<variable name="TAB" expression="capitalize(" ")" defaultValue=" " alwaysStopAt="false" />
<context>
<option name="OTHER" value="true" />
</context>
</template>
You could extend the idea to have multiple ones that enter multiple tabs. For example tab to enter 1 tab, tab2 for 2 tabs, etc.
Screenshot of it after use:
There may also be a way to hack a macro to do it. You could then assign the macro to a keyboard shortcut. I'll see if I can figure something out and update this if I do.
Use the menu option: Edit -> Convert Indents -> To Tabs.
Whenever I edit a makefile I do the "to tabs" conversion before I save the file.
UPDATE: Really sadly, I think the generated character still gets converted to spaces... Am checking...
There is an Action in JetBrains IDEs to enter a Tab character.
Here are the steps to use the Tab character action: (discovered in PyCharm 2020.3)
Double-tap the Shift key OR Help -> Find Action...
Type the 3 characters tab
Click on the action that is called Tab and shows the icon for the Tab character...
It remembers the last action you did, so if you have several tabs to add, you can get into a quick process by doing ShiftShift then Return each time.
Answer based on #Morfic's comment to the question. I think this is the cleanest and most sensible reply here so I figured it deserves a place as an answer (and needless to say, it worked for me).
If they're different types of files you could configure File -> Settings -> Editor -> Code style -> Tabs and Indents for each one to use either space or tab depending on how you want it.
One way to do this is to copy a TAB character from another text editor, then right click in your PyCharm file and use Copy / Paste Special -> Paste as Plain Text (Ctrl+Alt+Maj+V)
I guess this was not available in older PyCharm versions, because no other answer proposed it. Regular paste (Ctrl+V) doesn't work (replaced by spaces), but this one works. The function will also bypass other automatic formatting.
Inspired of Clare's suggestion,
assign the left tab key after finding 'tab' action.
At Actions tab, search by 'tab' and move your up/down arrow key and place there.
Then type Ctrl+1, you will see a popup. Select as follows and click OK.
Then, you might be asked "Do you want to remove other assignments?" if Tab key was already assigned. Click Leave because your usage won't conflict with the existing setup.

visual studio editor expand collapse widgets are gone

The plus / minus signs are gone to expand / collapse regions. The vertical lines to indicate regions are gone too.
The regions are collapsing and all the commands under edit, outlining work fine.
It's just I have to double click on the collapsed region to expand and there's no way to collapse a region with the mouse. Only the shortcut keys (ctrl m, m) or the menu will do it.
I swear it was right this morning but I did something to mess it up. I can't find any option in tools to fix it either.
UPDATE
Now, some files are doing this and other files (both opened at same time) are not doing it. If anyone can explain, I'm all ears.
Press ctrl+, (control plus semicolon) to open the settings. And type Folding Strategy in the setting's search bar. It is set to auto by default. You can set it to always for the controls to be visible at all times, otherwise, it shows only on mouse over.
This same thing happens to me multiple times a day using VS.NET 2015 Pro version 14.0.24720.00 Update 1. Restarting the IDE always restores normal function for a while but the problem always returns, seemingly at random.
UPDATE:
I tried changing the theme from dark to blue and it restored the outlining. I then changed back to dark from blue and the outlining continued to work normally. Still a pain but definitely a lot faster than restarting the IDE.
It happened with me also. One file was just fine and other file (js) was not. I searched it a lot.
Try selecting a method/if check etc and press ctrl+M+H which is short cut for right click outlining > Hide Selection.
You can do it on the whole document as well.
This might be helpful when working on a file which has too much code in it and you are going through different functions again and again. It is painful with scrolling mouse for so long.
You can use short cut for for moving at the start of the method or at the end of the method with the following :
select parenthesis { start or end } and press ctrl+}
Hope this helps.
It works again.
I closed all windows and reopened my code file.
Now it shows the plus minus glyphs again.
I know this is an old post, but I wanted to share a quick solution. if you right click and hover over 'Outlining' and then click 'Collapse to Definition', the widget comes back. Then just press [ctrl] + z to undo and continue where you left off.
With Golang, if the code has some syntactic mistakes that would prevent it from compiling, the language server cannot decide which parts of the code are collapsible, and which not.
Therefore the solution is either switching to the Folding Strategy in VSCode settings to indentation folding, or fixing the syntactic errors.
Simple solution : CTRL + M + O, then CTRL + Z
Thanks to SparrowEatsHawk

How do I copy and paste the tooltip error message that pops up in IntelliJ IDEA?

IntelliJ IDEA automatically shows a red line if it cannot resolve some entities or it detects an error. Is there a way to copy and paste the content of that tooltip?
With eclipse I use the f2 to get the information.
I used the idea version 14.1.4 and use this way to copy the tooltips.
You can click the error line and the info will display, now you can right click to copy this error info.
Mouse shortcut:
Hover mouse over error in editor to bring up tooltip
Alt + click on error message inside tooltip to copy it to clipboard
For step 1 you can also bring up the tooltip for the current carret position by Ctrl + F1. For step 2 there does not seem to exist a keyboard shortcut at the time of writing (for IntelliJ 2018.1), see also IDEA-65636.
If you stumbled upon looking for solution for Linux version (and none of the above worked for you, like for me) click ctrl+alt+left mouse button on the tooltip, and you'll get its content into the clipboard :)
No, the tooltips don't offer a way to get that information from their context alone.
You could traditionally compile it instead via Build -> Compile and get the error message that way, instead. You can then select this text and do with it what you wish.
There is a bug report on this since 2011 (!) . Feel free /encouraged to vote for having the bug fixed:
https://youtrack.jetbrains.com/issue/IDEA-65636
IDEA-65636 I can't copy text from tooltip, though I can select it
Though honestly JetBrains infrequently gets around to non super critical bug fixes.

Wrapping comments with line breaks in PyCharm

I have comments that gets balloon (PEP 8: Line too long ... > 120)
I wish there was a command that will wrap the lines with few keystrokes.
Right now, even if I type Alt+Enter and press enter on Reformat file, nothing actually changes. Is there a setting or plugin I could use to accomplish the formatting easily?
Under the Edit menu, there is a Fill Paragraph option, which does what I believe you want. You can assign a key command to this in Preferences, under Appearance & Behavior -> Keymap (search for "fill").
Personally, I choose first stroke Esc, second stroke Q, because that's what I've always used in Emacs...
Firstly, reformatting won't work, not in Python at least, where whitespace is important. PyCharm's "Wrap when typing reaches right margin" option is what you're looking for. Now this will not work when you copy and paste code, but in the places where it gives you trouble, just press enter, and it will work.
To be able to auto-reformat comments (and code, for that matter) to honor a right margin after the fact, go into Project Settings under Code Style and then further under Python. Click the Wrapping and Braces tab, and check the "Ensure right margin is not exceeded" checkbox.
Now if you select a region of lines and then run the Code/Reformat Code... command, PyCharm will do its best to wrap the comments or code appropriately.
You will probably have to do some tweaking of the results to suit your stylistic taste. For example, I wish PyCharm would do aggressive filling of text in block comments, at least optionally so.
PyCharm will not reformat code such that it becomes invalid Python, so sometimes it will still leave a line longer than the margin (120 or whatever you set under Project Settings/Code Style/General).
With recent PyCharm this now is located at "Editor -> Code Style", with the checkbox named "Wrap on typing"
The Screenshot shows PyCharm version 2016.2.1 Professional.
Updated Answer:
Use "soft wraps." You can search for it in the help bar.
View > Active Editor > Use Soft Wraps
It won't work for existing text or text that's copied in, but will for any newly typed text.