7 Best PyCharm Plugins For 2021

Best PyCharm Plugins

PyCharm by JetBrains is a popular and powerful Integrated Development Environment (IDE) for Python development. Though it comes with a rich set of default features, you can use external plugins and tools to enhance its functionalities and make the most of your programming efforts.

In this article, we’re going to review the following top 7 plugins you can add to your PyCharm development environment:

 

Let’s discuss each of them in-depth.

 

1. .ignore

PyCharm .ignore plugin

The .ignore plugin adds support for a variety of .ignore files within your PyCharm development environment. An .ignore file is a type of plain text file that has instructions on the files or directories to be ignored.

 

For example, with a .gitignore file, you can tell Git the files or folders to be ignored when committing your project to the GitHub repository.

 

You can use the plugin to generate .gitignore files and handle them in a more complex style rather than using a simple plain text file.

 

It’ll help you mark matched ignored files in the project view, perform edits to them, and create intuitive ignore rules using custom templates.

 

The .ignore plugin also comes with the following key features:

 

  • Apart from .gitignore files, it also supports many other file types, such as .npmignore, .dockerignore, and .cvsignore.
  • Support for files syntax highlighting.
  • Support for comments and brackets.

 

2. Markdown

PyCharm Markdown plugin

 

The Markdown plugin adds Markdown support to PyCharm. The plugin lets you take advantage of the lightweight markup language and efficiently style your texts.

 

You can use the plugin to edit Markdown files and show a live preview of the rendered HTML. It also allows you to use custom stylesheets for generating a live preview.

 

These are its more features:

 

  • Automatic code completion and navigation capabilities from links to project files. This can be helpful if you want to reference other Markdown files, images, or source code.
  • Ability to insert fenced code blocks for a variety of languages.
  • Support for document structure view, TODOs, syntax highlighting, and headers folding.
  • Ability to render diagrams defined with Mermaid or PlantUML diagramming languages.

 

 

3. CSV Plugin

 

PyCharm CSV plugin

 

The CSV Plugin allows you to edit delimited text files, such as CSV, TSV, and PSV files.  If you install it on PyCharm, you’ll get several beneficial capabilities for working with delimited text files easily.

 

You’ll be able to open the files in a tabular, Excel-like view, and enjoy these main features:

 

 

  • A flexible Table Editor and text editor.
  • Support for content formatting, syntax highlighting, syntax validation, and customizable coloring.
  • Support for customizable line comments, quick fix inspections, and new intentions.

 

4. Docker

 

PyCharm Docker plugin

 

 

The Docker plugin lets you work with Docker within your PyCharm environment. With the add-on you can create, deploy, and run applications inside containers, and take advantage of the innovative Docker technology.

 

These are the main benefits of using the Docker plugin:

 

  • It allows you to pull and create Docker images fast and easily. You can also use it to push your local images to a Docker registry.
  • It allows you to create and run Docker containers. You can do so either from downloaded images or directly from a Dockerfile.
  • It allows you to deploy multi-container applications using Docker Compose.

 

5. IdeaVim

 

PyCharm IdeaVim plugin

 

The IdeaVim plugin provides Vim emulation for your PyCharm instance. Vim is a text editor application for Unix. With IdeaVim, you can access the Vim editor without leaving the PyCharm IDE.

 

The plugin supports several Vim features, including the following:

 

  • Normal, insert, and visual modes.
  • Command-line and Ex modes.
  • Motion keys and registers.
  • Vim regexp and configuration.

 

6. String Manipulation

 

PyCharm String Manipulation plugin

 

The String Manipulation plugin lets you manipulate texts without any hassles. You can use it to carry out various string manipulation tasks, including:

 

  • Case switching, such as converting text from lower case letters to upper case letters, and vice versa.
  • Encoding or decoding a piece of text, such as encoding selected text to MD5 Hex and decoding or encoding selected text as URL.
  • Incrementing or decrementing all numbers found, creating a sequence, and incrementing duplicate numbers.
  • Sorting tasks such as sorting case-sensitive A-z, A-Z, Z-A, or z-A.
  • Aligning text to left, center, or right.
  • Trimming spaces and unwanted text.

 

 

7. WhiteSource Advise

 

 

PyCharm WhiteSource Advise plugin

 

 

WhiteSource Advise for PyCharm allows you to get real-time alerts about vulnerable open source components in your development environment. The plugin works unobtrusively in the background and identifies known security issues in your Python software projects.

 

These are the key benefits of installing the WhiteSource Advise plugin in PyCharm:

 

  • It provides detailed information about each detected vulnerability, including severity level and suggested fixes.
  • It allows you to identify vulnerabilities while programming within the PyCharm IDE. You won’t need to use a separate tool for such a purpose.
  • It allows you to discover vulnerabilities early in the SDLC to speed up remediation, reduce the costs of fixing software defects, and increase development productivity.
  • It supports non-intrusive integration. With a click of a button, the plugin presents the security findings without interrupting your development workflow.

 

Conclusion

 

With the above plugins, you can ensure your Python development process is secure, productive, and enjoyable. By taking advantage of these customized add-ons, you can add to the list of capabilities available in PyCharm and make your programming life easier.

 

We hope you’ll find them useful.

 

Alfrik Opidi

Alfrik Opidi / About Author

Alfrick is a full-stack web developer with extensive experience in developing robust, futuristic, and secure applications. He’s worked with a wide range of software, system architectures, and programming languages. Notably, he’s been involved in a variety of projects that aim to find, fix, and tighten the security of web applications. See him as a technology enthusiast with a keen eye on making the latest developments in the industry feasible, decipherable, and known to all. In his free time, he likes participating in bike racing, playing games, or just stargazing. You can connect with him on LinkedInGitHub, or via his website.