Extensions to help you start your project
As a developer at d-centralize it is required to use either Python or JS/TS. Luckily, for all the VSCode users, VSCode has multiple extensions, which can help you with setting up for the project. This guide will show you different extensions you can use to ease your work.
General
Code Spell Checker checks for spelling errors during development - mandatory as most of the projects have spellcheck in CI.
Prettier helps in styling the code - mandatory as prettier is ran in the CI.
WSL mandatory if you are working from windows (WSL).
Tabnine: AI it can help writing code or help you in understanding the existing code and what it does. Can also help in the generation of tests for the code.
GitHub Copilot similar to Tabnine AI, but paid. For the education users there is a free version if you are verified as such in your GitHub account.
IntelliCode IntelliSense for Python, TypeScript and JavaScript.
Sonarlint covers quite a lot of programming languages and can show you errors and warnings during the development process.
Swagger formatter not mandatory to use, but can help in writing OpenAPI/Swagger documentation.
PDF visualize pdf files in VSCode.
Python
Pipenv setup this tutorial shows how to utilize VSCode when working with pipenv.
Short summary of steps:
- Install Python version following the Handbook docs: handbook.
- Click
Ctrl+Shift+P
and writePython: Select Interpreter
and choose Python interpreter.
Debugging this tutorial shows how to debug Python code in VSCode.
Short summary in steps:
- Setup the starting file of the app to be the one for the debugger configuration.
Ctrl+Shift+D
and you are going to appear in the Run and Debug section of VsCode and chooseRun and Debug
.
Testing this tutorial shows how to run tests in VSCode. For this one follow the tutorial.
PESP or Python Extension Starter Pack - contains multiple extensions which are python oriented in it.
AREPL visualize code errors during development and provide link for google search.
Coverage Gutters visualizing the code coverage after a coverage xml file has been generated.
Python Test Explorer for Visual Studio Code easier test running in the backend.
JS/TS
ESLint helps in keeping the JS/TS code clean and up to standard - mandatory as eslint checks are ran in the CI.
Playwright makes writing E2E tests with playwright easier.
Pretty TypeScript Errors makes error more readable.
Tailwind CSS IntelliSense easier use of tailwind while styling the frontend.
DotENV easier writing of .env files.
Jest Runner can help in running Jest tests.
Move TS easier import updating when changing files locations.
Vite visualize the code while developing in VSCode.
Simple React Snippets in order to get the best experience with React.JS.
DevOps (git)
GitLens helps in keeping track of the code and easier git work.
Docker this extension will help you when working on docker configurations, such as docker files.
YAML helps in writing yaml files - can be docker-compose files.
Ansible is used for the infrastructure setups of d-centralize, so this extension will help you in writing ansible code.
Hashicorp Teraform helps in working with teraform for the infrastructure of the company.
Kubernetes only for when kubernetes work is needed.
GitLab Workflow can help you generate code and GitLab related elements such as MR, pipeline status, etc.
Documentation
Markdownlint every documentation file in the d-centralize repositories is Markdown. This tool will help you in keeping it clean.
Markdown all in one every documentation file in the d-centralize repositories is Markdown. This tool can help you in refactoring it.
Mermaid the sequence diagrams used in the different projects are created using the mermaid tool. This extension can ease writing them.
Mermaid preview visualize the mermaid diagrams while developing them.
Table Formatter can ease the work when creating tables in the documentation.