-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Beta version changelog
Carlos Cordoba edited this page Nov 18, 2019
·
214 revisions
- Add a dark theme for the entire interface.
- Add a new
Plots
pane to browse all inline figures generated by the IPython console. - Several plugins were renamed to have a simpler interface:
-
Static code analysis
toCode Analysis
-
File explorer
toFiles
-
Find in files
toFind
-
History log
toHistory
-
Project explorer
toProject
-
- Add a new action called
Undock
to the Options menu of every plugin. This action creates a separate window that only contains the plugin and can be moved to a different place of the screen or to a different monitor. - Add a clock to the status bar, for those who like to work
on full screen mode. It can be activated in
Preferences > General > Advanced settings > Status bar > Show clock
. - Add translation for Simplified Chinese.
- Add code folding functionality.
- Show code completions as you type.
- Add autosave functionality to be able to recover unsaved files after a crash.
- Add indentation guides. They can be activated under the
Source
menu. - Add a panel to show the current class and method/function
where the cursor is placed, inspired by similar
functionality present in Microsoft Visual Studio.
It can activated under the
Source
menu. - Allow setting multiple line length indicators under
Preferences > Editor > Display > Show vertical lines
. - Add
Ctrl+Alt+Shift+,
andCtrl+Alt+Shift+.
shortcuts to go to the previous/next warning and error, respectively. - Allow scrolling past the end of the file.
This can activated in
Preferences > Editor > Display > Scroll past the end
. - Add the ability to take into account code indentation and PEP 8 when adding and removing comment levels.
- Add an option to convert end-of-line characters on save.
- Add
Ctrl+{
andCtrl+_
shortcuts to split panels vertically and horizontally, respectively. - Add
Alt+Shift+W
shortcut to close the current split panel. - After pressing a quote or brace the current selection gets enclosed on it.
- Add automatic docstring generation (parameters, return vals and exceptions raised) in Numpydoc and Googledoc formats.
- Add an option to its context menu to sort files alphabetically.
- Add the ability to reference issues on Gitlab (
gl
), Github (gh
) and Bitbucket (bb
) in comments or strings by using the convention{gl/gh/bb}:my-org/my-repo#123
. You can also reference them by{gl/gh/bb}-123
, if you previously set up anupstream
ororigin
remote in your repo. - Use the Language Server Protocol for code completion and linting.
- Files are now run in an empty namespace. This avoids picking up
variables defined in the console while running a file. To get
the previous behavior you need to go to the menu
Run > Configuration per file
and activate the option calledRun in console’s namespace instead of an empty one
. - Add menu options to start consoles in Pylab, Sympy and Cython modes.
- Run cells through a function called
runcell
instead of pasting their contents directly to the console. - Use Jupyter comms to handle communications between frontend and kernel.
- Add code completion to it.
- Add the ability to execute multi-line statements on it.
- Add syntax highlighting to it and color
ipdb
prompts. - Add permanent history to it, separate from the console history.
-
runfile
andruncell
can now be called when the debugger is active. - Add the ability to debug cells by pressing
Alt+Shift+Return
or by going to the menuDebug > Debug cell
. - Add an option to ignore installed Python libraries while
debugging. It can be turned on in the menu
Debug > Ignore Python libraries while debugging
. - Add the ability to see inline plots while debugging. For that
you need to activate the option called
Process execute events while debugging
, present in in theDebug
menu. - Disambiguate file names in the Breakpoints pane.
- Add a new viewer to inspect any Python object in a tree-like view.
- Add the ability to search for variable names and types.
- Restore the ability to refresh it while code is being executed.
- Add support for Numpy object arrays.
- Add MultiIndex display support to the DataFrame viewer.
- Add support for all Pandas indexes.
- Add support for sets.
- Add a new option to exclude callables and modules.
- Add an option to its context menu (the one you get with a mouse right-click) to resize columns to its contents.
- Add the possibility to associate different external
applications to open specific file extensions (e.g.
.txt
files with Notepad++ or VSCode). - Add a context menu action called
Open externally
to all files to open them with the Operating System default program associated with the file type. - Add multi-select functionality (
Ctrl/Shift+click
). - Add the ability to copy/paste files and their absolute or relative paths.
- Use special icons for different file types.
- Add an option to open files and directories with a single click.
- Show cells grouped in sections. Level 1 cells are defined by
#%%
(as before), level 2 cells by#%%%
, level 3 cells by#%%%%
and so on. With this new syntax, alln+1
cells will be conveniently grouped under n-level cells in the outline tree. - Add an option to sort files alphabetically. By default files are shown in the same order as in the Editor.
- Add a default name for cells to encourage users to name them. This way cells can be more easily spotted in the outline tree.
- Spyder can now read default configuration options saved in
spyder.ini
files from system (e.g./etc/spyder
) and conda environment (e.g.~/miniconda/envs/py36/etc/spyder
) directories. This can be used by sysadmins to turn on/off certain options by default for all users in an organization. To inspect the paths from which Spyder reads these files per operating system and the order in which it does that, you can use the new command line optionspyder --paths
.
- Create one module per plugin in
spyder.plugins
and move there all widgets and utility modules used by that plugin. For example,spyder.widgets.sourcecode.codeeditor
is now atspyder.plugins.editor.widgets.codeeditor
. - Create the
spyder.api
module to expose a public API for external plugins. - Add a
SpyderPlugin
class to be able to create plugins without an associated graphical pane.
- Remove the
SpyderPluginMixin
class. Its contents were added toBasePluginMixin
andBasePluginWidgetMixin
(inplugins/base.py
). - Move
SpyderDockWidget
towidgets/dock.py
. - Config pages of all plugins are now located in a separate module
called
spyder/plugins/<plugin>/confpage.py
- Drop support for Python 3.4.
- Increase minimal PyQt supported version to 5.6.
- Deprecate the usage of
debug_print
and use thelogging
module instead.
Connect with Spyder through our social media channels and stay up to date with current developments!