Visual Studio Code (VSCode) is a free integrated development environment (IDE). It is popular among developers and data practitioners. The VSCode provides rich functionalities, extensions (plugins), built-in Git, ability to run and debug code, and complete customization for the workspace. You can build, test, deploy, and monitor your data science application without leaving the application.
I have tried multiple IDEs, and to be honest, I find VSCode the best as it provides a lightweight, powerful, and customizable work environment. The biggest plus point of this IDE is the huge collection of extensions for all kinds of IT professionals.
In this blog, we are going to learn about the extensions that are an essential part of my workspace.
Python extension provides language support such as linting, debugging, code navigation, code formatting, refactoring, variable explorer, and test explorer. It will automatically install Pylance and Jupyter extensions to provide you the best experience on Python files and Jupyter Notebook files.
Pylance with Python extension provides super charge language support. It will provide you with parameter suggestions, code completion, auto imports, type check, and semantic highlighting. It is highly recommended as it has improved my Python development experience by 2X. Pylance is far more than autocomplete for Python.
Python Indent is the extension that you always knew you needed. Every time you type a line of code and Enter, it will provide you with the correct Python indentation. It works with bracket pairs, hanging indents, keywords, and extending comments.
Indent-rainbow brings peace to my world of HTML and Python coding. I now see clean and well-organized Indentations. This extension has helped me debug code fast and write effective code. Indent-rainbow colorizes the indentation in front of your text, alternating four colors for each step.
Jupyter Notebook Renderers works with Jupyter extension to provide interactive data visualization. It is a must-have extension for data analysts, data scientists, and data engineers to visualize Plotly, Vega, Bokeh, GIF, PNG, SVG, and JPEG outputs.
R extension provides rich language support. If you are a data analyst or researcher you must be aware of R-lang and its ecosystem. The VSCode extension enhances your experience by providing you with syntax highlighting, code analysis, R terminal, and support for R Markdown. It also allows you to view data, plots, and variables.
Julia extension is language support similar to Python and R. In my opinion Julia is the future of machine learning and data science. The extension comes with syntax highlighting, snippets, Julia REPL, code completing, linter, hover help, and debugging. Similar to R, it provides a plot gallery, grid viewer for tabular data, and the ability to test, build, and benchmark programs.
GitLens brings your Git repository to life. Instead of typing scripts on the terminal, you can use an interactive user interface to perform all Git-related tasks. It comes with revision navigation, current line blame, authorship, file annotation, sidebar view, Git command palette, and customizable menus and toolbars. It improves your development experience by providing visual composing, seamless team collaboration, and ability to analyze project progress.
Todo MD is the best task tracking extension. You can find multiple todo extensions that might be helpful for your particular development environment, but Todo MD allows you to set priority tasks, and track daily tasks, projects, tags, and context. By using Markdown syntax, you can create your list of tasks with special tags such as “overdue” or filter your tasks related to specific simple tags and special tags.
I use it to track my recurring tasks. For example, running and automating Python scripts for editorial tasks.
Other extensions are recommended if you are more into the development and deployment of data science solutions such as GitHub Pull Requests and Issues, Docker, and Kubernetes. The extensions that I have mentioned are necessary for me to build, test, and run Python scripts daily.