The Ultimate Visual Studio Code Setup For Django Developers

4 min read

Visual Studio the text editor is known as Visual Studio Code is Microsoft’s free text editor that runs on Windows, Linux, and macOS. It’s a recent entrant to the market; Microsoft released the product as a public preview at the end of 2015, posting the open source code to Github, before making it available as a general release in April 2016.

Despite its newbie status, Visual Studio Code has rapidly gained popularity among developers. Some may argue that it is not a real IDE, but merely an advanced text editor. But in my opinion, after installing a number of extensions, it becomes almost a full-fledged IDE with very rich functionality.

Additionally, despite being an Electron-based application, it is quite lightweight and responsive (in contrast to for example Atom, which is very slow and resource intensive).

This tutorial will go through Installation and setup of the VS code for Python and Django projects on your machine.

Installing Visual Studio Code

Visual Studio Code is a free text editor so to download it you just have to visit their official site and download the file depending on your operating system. So visit Vscode's-website and download the latest stable build for your OS and once the download is finished install the editor and launch the app.

Getting Started with Python in VS Code

The best thing about VScode is that it comes with a built-in terminal which comes handy for Django projects press Ctrl+Shift+` to invoke the terminal.

Vs code setup for python

Note that in windows powershell may seem weird for new users it is recommended to use Python debug console or CMD.

Configuring Python

To enjoy Pythonic features such as Linting, Debugging (multi-threaded, remote), Intellisense, code formatting, refactoring, unit tests, snippets, and more you need to install Python extension for Vscode.

To install an extension press Ctrl+Shift+x or click the extension icon.

Using VS Code for Python/Django Development

Now search for Python and install the one published by Microsoft.

Python for vscode

Adding Extension For Django

Search for Djaneiro this extension provides a collection of snippets for Django templates, models, views, fields & forms ported from Djaneiro for SublimeText.

Selecting Python Environment

Press CTRL+SHIFT+P(CMD+SHIFT+P for MacOS) and type Python: Select Interpreter and select the environment for your project. You can see the active environment at the bottom left of the editor.

Vs code python environment

Installing Theme

The default Vscode theme is great in itself however there are plenty for fabulous free themes available for download.

My favorite one is Night Owl+ so let's install night owl+ theme from extensions.

To explore more Vscode themes visit https://vscodethemes.com/

vscode theme

To change the theme go to, file>Preference> color theme 

vscode change theme

And select the theme that you prefer.

Vscode theme selection

Notice below the color theme there is an option for the file icon theme.

Download Material Icon Theme from extensions store and click on that and select the icon theme this will give different file icons for different files.

file icon

After that restart VS code to activate the extensions. Now open any of your Django project you should get this beautiful view.

Vscode django setup

Your font might look different I am using Fira code font here.

 

Configuring  Additional Useful Settings

Go to file> preferece> settings then open settings.json from there.

settings.json python vscode

In USER SETTINGS inside the curly braces { } add the following Settings.

// my custom settings
    "editor.formatOnSave": true,
    "editor.rulers": [
        80,
        120
    ],
    "files.exclude": {
        "**/.git": true,
        "**/.svn": true,
        "**/.hg": true,
        "**/CVS": true,
        "**/.DS_Store": true,
        ".vscode": true,
        "**/*.pyc": true,
    },
    "workbench.editor.enablePreview": false,
    "editor.minimap.enabled": false,
    "python.linting.pylintArgs": [
        "--load-plugins",
        "pylint_django"
    ]

To use the above features, the editor will prompt you to install pylint and autopep8, or you can install them directly in the virtual environment.

pip install autopep8
pip install pylint

Some useful VScode extensions:

  • Code Spell Checker 
  • Django
  • Git History

TOOLS

Latest Articles

Latest from djangocentral

Capturing Query Parameters of request.get in Django

In Django, the request object contains a variety of information about the current HTTP request, including the query parameters. Query parameters are a way to pass additional information in the URL and are used to filter or sort data. The request object p…
Read more →

2 min read

Understanding related_name in Django Models

In Django, related_name is an attribute that can be used to specify the name of the reverse relation from the related model back to the model that defines the relation. It is used to specify the name of the attribute that will be used to access the relat…
Read more →

2 min read