#x VS Code Extensions
Here are some of the useful vscode extensions that I use outside or inside dev containers for my development work
- Eclipse KeyMap
- To use the same keyboards shortcuts like Eclipse IDE
- VS Code Extension id:
alphabotsec.vscode-eclipse-keybindings
- Java Extension Pack
- Includes {language support for java, debugger for java, test runner for java, maven for java, project manager for java, intellicode}
- VS Code Extension id:
vscjava.vscode-java-pack
- Run On Save
- I am using this to perform google java format on save
- VS Code Extension id:
emeraldwalk.runonsave
- Spring Boot Extension pack
- An extension pack to develop spring boot applications
- VS Code Extension id:
vmware.vscode-boot-dev-pack
- Rest Client
- Helps to quickly test REST APIs
- VS Code Extension id:
humao.rest-client
- DB Client
- Can be used to connect and query to Posgresql, MySQL servers
- VS Code Extension id:
cweijan.vscode-mysql-client2
- XML Language support
- Provides support for creating and editing xmls
- VS Code Extension id:
redhat.vscode-xml
- Dependency Analytics
- Provides insights about your application dependencies: Security, License compatibility and AI based guidance to choose appropriate dependencies for your application.
- VS Code Extension id:
redhat.fabric8-analytics
- SonarLint
- While writing code, this extension will auto detect the errors, bad coding practices, vulnerabilitiees with fix suggestions.
- VS Code Extension id:
SonarSource.sonarlint-vscode
- Live Server
- Useful extension to see the changes live when developing static sites using html,css
- VS Code Extension id:
ritwickdey.liveserver
- MarkdownLint
- Helps to format your markdown files and detects any formatting issues, prompts with fix suggestions.
- VS Code Extension id:
davidanson.vscode-markdownlint
- PDF Preview
- Helps to open and preview a pdf in vscode
- VS Code Extension id:
analytic-signal.preview-pdf
- Drawio
- To draw flow charts and Architecture diagrams
- VS Code Extension id:
hediet.vscode-drawio
- Plant uml
- To draw UML diagrams and also some supports some non-uml diagrams as well
- VS Code Extension id:
jebbs.plantuml
- This requires Java, Graphviz. PlantUML for the impatient
- To verify graphviz installation. Do
dot -V
dot - graphviz version 2.43.0 (0)
- Note: If your devcontainer is based on the base image: sairaghavak/java-dev-tookit then your container already has the graphviz installed, because I have installed
graphviz
in the base image itself.
- Open API(Swagger) Editor
- To update swagger documentation in
swagger.yaml
files - VS Code Extension id:
42Crunch.vscode-openapi
- To update swagger documentation in
- Kotlin Language Server
- For kotlin linting and support in vscode
- VS Code Extension id:
fwcd.kotlin
- Kotlin code formatter
- For kotlin code formatting in vscode
- VS Code Extension id:
esafirm.kotlin-formatter
May be having an extension pack would help, I might have to create one.
Summary of the above-mentioned extensions in devcontainer.json
under extensions section.
"extensions": [
"alphabotsec.vscode-eclipse-keybindings", // 1. eclipse key bindings
"vscjava.vscode-java-pack", // 2. Extension pack for java: includes {language support for java, debugger for java, test runner for java, maven for java, project manager for java, intellicode}
"emeraldwalk.runonsave", // 3. I am using this to perform google java format on save
"vmware.vscode-boot-dev-pack", // 4. includes spring boot tools, initializer, dashboard extensions
"humao.rest-client", // 5. To quickly check test and check APIs, alternative to POSTMAN
"cweijan.vscode-mysql-client2", // 6. DB client
"redhat.vscode-xml", // 7. XML Language support
"redhat.fabric8-analytics", // 8. Dependency analytics
"sonarsource.sonarlint-vscode", // 9. Sonarlint
"ritwickdey.liveserver", // 10. Live server that will auto refersh upon changes to static pages
"davidanson.vscode-markdownlint", // 11. Markdownlint
"analytic-signal.preview-pdf", // 12. Preview pdfs
"hediet.vscode-drawio", // 13. For drawing architecture diagrams
"jebbs.plantuml", // 14. Plantuml for uml and non-uml diagrams
"42Crunch.vscode-openapi", // 15. For live preview of OAS/swagger spec in vscode
"fwcd.kotlin", // 16. kotlin language server
"esafirm.kotlin-formatter", // 17. kotlin formatter
]
- Recommendation: When using vscode devcontainer setup, apply/enable/install only specific extensions. Example, while working in GoLang devcontainer setup, enable only extensions specific to GoLang and some language agnostic exntensions to keep the container light and free from unrelated extensions.
Note: I will keep updating this post based on the extensions that are essential.