Question: How can i go to a function definition in Jupyter?

I want something like Visual studio's f12, or eclipse's and PyCharm's ctrl+click.

I find it hard to believe this does not exist, yet couldn't find it

Answer: 
I'm not aware of such feature that will work for all kernels.

If you are using a Python kernel and have ipython installed you can use inspection functions:

> 
> * `%pdoc <object>`: Print (or run through a pager if too long) the docstring for an object. If the given object is a class, it will print
>  both the class and theconstructor docstrings.
> * `%pdef <object>`: Print the call signature for any callable object. If the object is a class, print the constructor information.
> * `%psource <object>`: Print (or run through a pager if too long) the source code for an object.
> * `%pfile <object>`: Show the entire source file where an object was defined via a pager, opening it at the line where the object
>  definition begins.
> * `%who/%whos`: These functions give information about identifiers you have defined interactively (not things you loaded or defined in
>  your configuration files). %who just prints a list of identifiers and
>  %whos prints a table with some basic details about each identifier.
> 
> 
> Typing `??word` or `word??` gives access to the full information,
>  including the source code where possible. Long strings are not
>  snipped.
> 
> 
> 

### Usage Example

```
In [4]: pd.DataFrame?

In [5]: pd.DataFrame??

In [6]: %pdef pd.Dataframe
Object `pd.Dataframe` not found.

In [7]: %pdef pd.DataFrame
Class constructor information:
 pd.DataFrame(data=None, index=None, columns=None, dtype=None, copy=False)

In [8]: %pdoc pd.DataFrame

In [9]: %pfile pd.DataFrame

```

### Resources

[Dynamic object information](https://ipython.org/ipython-doc/stable/interactive/reference.html#dynamic-object-information)
I used below to return call signature of function, [taken from above](https://stackoverflow.com/a/53457694/5625975)

```
np.matmul?? 

```

If you have the function typed out, you can use [keyboard combination](https://towardsdatascience.com/jypyter-notebook-shortcuts-bf0101a98330) 'Shift+Tab' + 'Shift+Tab' to get tool tip in notebook when in edit mode, as shown below.

[![Jupyter Notebook Tooltip](https://i.stack.imgur.com/ixmXv.png)](https://i.stack.imgur.com/ixmXv.png)