There are many Python ides (Integrated Development Environment), such as: VS Code, Sublime, NotePad, Python’s own editors IDLE, JuPyter, Eclipse + PyDev, etc., but PyCharm works best for larger projects like project development, management, deployment, etc.

PyCharm has released version 2019.3 on December 2, 2019. This may be the last major release of 2019, but what new features have been added? Let’s take a look!

A, Jupyter

PyCharm released three major versions of 2019.1, 2019.2, and 2019.3 to improve Jupyter, which pleased many users. After all, data analysis is popular now, and more and more developers are using The Notebooks of Jupyter.

Note that this feature is only available for pro!

1. Interactive controls

To provide more interactivity, Jupyter Notebooks supports features called “Interactive Controls.” These controls allow you to turn a static notebook into an interactive panel, allowing other users to customize the view as they view your notebook.

In this update, PyCharm added support for interactive controls. This means that the widgets will be presented along with the outputs and can be used for operating notebooks as we do for the unit Of Jupyter notebooks.

2. Runtime code completion

One of the advantages of PyCharm is that it enables intelligent coding tips with the help of advanced static code analysis algorithms. However, static code analysis is not sufficient for dynamic languages such as Python. That’s why in this update we’ve extended Jupyter with runtime information provided by Jupyter itself. In some cases, such as dictionary indexes or deeply nested expressions, the IDE cannot use static analysis to find their type, and this update will make code completion smarter.

3. Zoom in and out on the output panel

This update supports setting the font size of the preview to match that of the editor or customizing it in the Settings. The editor provides the option “Change font size (zoom) with Ctrl + mouse wheel”. With this option enabled, you can zoom in and out of the preview using the mouse wheel while holding down Ctrl.

Second, the Python

1. File path association

Afraid of typos in file names? Especially if you have a long file name such as open(‘data/ survey_datA_28112019_exported. CSV ‘)? You can now get file path suggestions in the Python code editor or console. We extend context-aware code completion so that file-related string literals in the context can suggest possible file paths.

2. Relative import is supported

Do you prefer relative import to absolute import? PyCharm now supports automatic conversion between these styles. If you have already imported a package using relative imports, all new imports from that package will also be automatically created as relative imports.

3. The Python 3.8: TypedDicts

PyCharm avoids dictionary assignments by supporting TypedDict. To provide a more accurate representation of your key-value pair structure, our code editor can help you find the right way to use it.

4.Python 3.8: Literal type annotations

Do you have a method that takes a particular string literal, such as the file mode “open” method? You can use Python 3.8’s Literal type annotations to check for types, as well as for specific values. PyCharm now raises an alarm when unsupported values appear in a function you call.

5. Automatically create the PyTest test

We have upgraded the tools for automatically creating tests and now support PyTest as well. With this, PyCharm allows you To through in the method statement of the menu, just click the “Go To | Test” option, it automatically create pytest Test.

6. Debugger: Collection size information

Trace information during debugging should be as clear and detailed as possible. That’s why we adjusted the variables view so that it now displays better organized and more comprehensive data. With this, expect new sorting, better visual representation of scientific arrays, display of collection lengths, and removal of repetitive details.

Third, performance improvement

1. Faster indexes

PyCharm’s advanced in-code vision helps you get your work done faster. To do this, we need to index your code and all imported packages. When you use packages with compiled extensions (like many data science packages), we need to generate the Python skeleton (stub file) that describes the Python interface before indexing it. We have improved this process and expect the whole indexing process to be at least 25% faster. Of course, if you use the same package in more than one VirtualEnv, we will reuse indexes that have been created.

2. Fewer freezes and improved freeze reporting

Unfortunately, sometimes PyCharm’s UI freezes for a while before letting you start working on the code again. We are aware that this is very unpleasant, so we are working to eliminate these problems. We’ve fixed a number of issues that can cause UI freezes, and now you can report UI freezes directly from the IDE, which makes it possible to investigate the cause of the freeze and make sure it doesn’t happen again. Thank you in advance for helping us get rid of the UI freeze problem in PyCharm!

3. More improvements

A. This year, we did a lot of work on the startup performance of all JetBrains ides. The startup time for our core platform has been further improved in version 2019.3, and we will continue to work to make the IDE start up faster.

B. Themes can now be changed without restarting the IDE. You can do this when you select a preinstalled theme or after you download a new theme.

C. Various improvements to handle events and ignore files in PyCharm 2019.3 make version control status updates faster.

D. We have made some changes to the rendering of the editor, which now makes scrolling through a long file smoother.

4. Database support

Note that this feature is only available for pro!

Support the mongo

Are you building applications on MongoDB? You’ll be pleased to know that you can now view the MongoDB collection in PyCharm. Through from the database tool window (view | | tool window database) to add data sources to connect to the database. PyCharm Professional Edition comes with all the database capabilities of JetBrains DataGrip, a Professional SQL IDE made by JetBrains.

5. IDE function

1. Configure the running parameters

When creating a command-line application, it is often easy to change parameters quickly. Although you can go to edit Configuration to make changes, there is now a better way: Use the new Run configuration macro (variable) that prompts you for values every time you start the application.

2. Search for the selected content

Want to know how often certain text appears in certain parts of a file? Now, the find action will automatically find the content you select. Want to search around? Pressing Ctrl-f again (cmd-f on macOS) expands the search to the rest of the file.

3. More improvements

If part of your application is written in JavaScript, chances are you’re using the Handlebars template somewhere. If you have the Handlebars plug-in installed, you can now enable Handlebars code intelligence in any Python string. Simply press Alt-Enter in the string, select “Insert language or Reference”, and type “Handlebars”.

Version control

1. Improvement comparison with the current branch

The more branches you have, the harder it is to track the differences between them. In the new version of PyCharm, the branch comparison feature looks better and lets you quickly see which commits are making the difference between the two branches.

2. Improved the UI of the clone repository

No matter which repository you use, we now start in the same place when you pull in new projects.

3. More improvements

  1. When you pull a remote branch, you usually need to create a local branch that tracks the remote branch. In PyCharm 2019.3, there is only one ‘checkout’ operation, which ensures that you see the current status of the remote branch, but there is no risk of losing any local commits.
  2. PyCharm will always be able to push your currently pulled branches. Sometimes, you might want to push another branch, and from now on, you don’t need to check it out first.

Web development

Note that this feature is only available for pro!

1. CSS classes in the CDN

Do you want to use style sheets in CDN? Now, you can download a version of this stylesheet specifically for code completion.

2. View the value returned by the method when debugging JavaScript

Just as in the Python debugger, the JavaScript debugger can now show you the return value of the method you are calling. To see the returned values, click the gear icon on the debugger, and then enable Show Returned Values.

3. More improvements

  1. Set the CSS style to force single or double quotes.
  2. PyCharm now helps you keep quotes consistent whether you use single or double quotes in your CSS. The Other TAB of the Settings | Editor | Code Style | Style Sheets | configured in the CSS.
  3. Do you use the React component for which propTypes are not defined? PyCharm can now infer props and will provide you with code completion for components with undefined propTypes.