DEV Community

Cover image for Prospector on Visual Studio Code
Stéphane Brunner for Camptocamp Geospatial Solutions

Posted on • Edited on

Prospector on Visual Studio Code

Visual Studio Code plugin for Prospector

As part of my efforts to improve Prospector's integration with popular IDEs, I created a Visual Studio Code plugin based on the Linter plugin. While this plugin is not actively maintained, it was a valuable tool for quickly building a new plugin that integrates Prospector with VS Code.

The plugin provides a seamless experience for users to run Prospector directly from within VS Code and see linting results instantly in the editor.

Result:

Screenshot

Available in the Visual Studio Code Marketplace.

What is Prospector

Prospector is a powerful bundler of various linting tools for Python, designed to improve code quality by running multiple linters and static analysis tools in a single pass. It integrates a collection of popular tools, which can be easily configured and customized to fit your project’s needs. You can explore the full list of Supported Tools.

Over the past few years at Camptocamp, we have contributed several improvements to Prospector, including:

  • Python 3.12 compatibility: Ensuring Prospector works seamlessly with the latest version of Python.
  • Adding Ruff support: Integrating Ruff, a fast linter for Python, to improve linting performance.
  • Improved Bandit and Mypy integration: Enhancing the integration of Bandit (security-focused static analysis) and Mypy (static type checking).
  • Support for profiles in PyPI packages: Allowing users to publish Prospector profiles as PyPI packages.
  • Bug fixes: Addressing various issues to make the tool more reliable.

Latest Prospector version

In the most recent release of Prospector, I focused on improving the integration with IDEs, particularly by enhancing the JSON output generated by Prospector. These improvements allow for better interaction with code editors and IDEs like Visual Studio Code:

  • Line and character end information: This change allows the IDE to highlight the entire element (e.g., a function or variable) that has an issue, rather than just the first character. This provides a more intuitive user experience when reviewing linting errors.
  • Documentation URL: A new addition that provides a direct link to the relevant documentation for each linting rule. This allows developers to quickly understand and resolve issues without having to search for the documentation manually.

Useful related packages I maintain

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more

👋 Kindness is contagious

Immerse yourself in a wealth of knowledge with this piece, supported by the inclusive DEV Community—every developer, no matter where they are in their journey, is invited to contribute to our collective wisdom.

A simple “thank you” goes a long way—express your gratitude below in the comments!

Gathering insights enriches our journey on DEV and fortifies our community ties. Did you find this article valuable? Taking a moment to thank the author can have a significant impact.

Okay