Home  >  Article  >  Backend Development  >  IPython 8.0 major version update supports code auto-completion

IPython 8.0 major version update supports code auto-completion

PHPz
PHPzforward
2023-05-06 10:22:061403browse

IPython 8.0 大版本更新,支持代码自动补全

After more than 3 years of planning, IPython 8.0 is finally here.

Now, with the latest version, you can not only use Black to reformat the code in the command line, but also get a better automatic code completion and debugging experience.

IPython 8.0 大版本更新,支持代码自动补全

For more details, let’s read on.

Optimization Error

Before version 8.0, if an error occurred in the code, IPython's error traceback would display a hash value used to compile the Python AST, like this:

IPython 8.0 大版本更新,支持代码自动补全

#Now, the error traceback has been formatted correctly and can display the specific cell number where the bug is located.

IPython 8.0 大版本更新,支持代码自动补全

In addition, IPython 8.0 also integrates stack_data. This package provides more intelligent tracking information, which can highlight the AST nodes where errors occur and help quickly locate bugs.

For example, for a piece of code like this:

IPython 8.0 大版本更新,支持代码自动补全

If you call bar(), you will get an IndexError. IPython 8.0 will tell you where the index error occurs.

IPython 8.0 大版本更新,支持代码自动补全

Note: In the terminal and notebook, the location marked with ^ will be highlighted.

Another improvement that has a greater impact on productivity is to add a colon and line number after the file name of the error traceback.

IPython 8.0 大版本更新,支持代码自动补全

Many terminals and editors allow you to jump directly to the relevant file/line when using this syntax.

Automatic code completion suggestions

In addition to a better Debug experience, if you like the code automatic completion function in Ptpython, then now you can do it in IPython 8.0 It can also be used.

Accept these suggestions via ctrl-f, or ctrl-e, or by pressing the right arrow.

The alt-f shortcut key can only accept the first word of the suggestion.

Currently, auto-suggestions can only be displayed in emacs or vi mode.

Use "?" and "??" to view object information

In IPDB, you can now use "?" and "??" to display object information. The same goes for when using the IPython prompt:

IPython 8.0 大版本更新,支持代码自动补全

Auto-formatting with black in the CLI

If black is installed with The same environment as IPython, so now, terminal IPython will by default reformat command line (CLI) code wherever possible.

Of course, you can also use —TerminalInteractiveShell.autoformatter=None to disable this option.

History Scope Global Features

Previously, when using %history, users could specify the session and row:

IPython 8.0 大版本更新,支持代码自动补全

Or use global mode:

IPython 8.0 大版本更新,支持代码自动补全

But before 8.0, these two modes cannot be used at the same time. If the user specifies both modes, IPython will apply the global mode (globalize all history) and ignore the specified scope.

This feature is now enhanced so that if the user specifies both a range and a glob pattern, the glob pattern will be applied to the specified historical range.

If you want to know more information, here is the official website link:

​https://www.php.cn/link/003dd617c12d444ff9c80f717c3fa982​

By the way, I would like to remind you that if you want to use IPython 8.0, you must first upgrade Python to version 3.8 or above.

The above is the detailed content of IPython 8.0 major version update supports code auto-completion. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:51cto.com. If there is any infringement, please contact admin@php.cn delete