DEV Community

Cover image for I Rewrote My VS Code Extension's Core Engine: Meet DotFetch v1.1
freerave
freerave

Posted on

I Rewrote My VS Code Extension's Core Engine: Meet DotFetch v1.1

Testing APIs shouldn't mean leaving your editor. That's why I built DotFetch, a lightweight REST client for VS Code.

But version 1.0 had a problem: the input engine was buggy. So, for v1.1.0, I decided to rewrite the core... completely. 😅

See it in Action

The Challenge: contenteditable vs. Stability

In the previous version, I used contenteditable divs for the request body and headers to allow for syntax highlighting. It looked nice, but it was a nightmare for stability. Cursors would jump, data would get lost, and pasting large JSONs was risky.

For DotFetch v1.1, I made a tough decision: Stability > Aesthetics.

I replaced the entire input system with a robust, custom-styled Textarea engine. The result?

  • Zero Glitches: No more jumping cursors.
  • Performance: Handles large JSON bodies instantly.
  • Reliability: What you type is exactly what gets sent.

Enterprise-Grade Security (CSP)

Security is often overlooked in extensions. In this update, I implemented a strict Content Security Policy (CSP) with nonce support.

This means DotFetch is now safer to use in enterprise environments, preventing XSS attacks and ensuring that only authorized scripts can run within the webview.

Speed & Workflow

The goal of DotFetch is to keep you in the flow.

  • Response Time: Optimized to parse and display responses in under 500ms.
  • History: Accidentally closed a request? The new History tab saves your last 50 requests automatically.
  • Shortcuts: Ctrl+Enter to run, Esc to cancel. Simple.

Try it Out

I spent 38 hours crushing 57 tasks to bring this update to life. I'd love for you to try it and let me know what you think!

Top comments (1)

Collapse
 
freerave profile image
freerave

Here are the direct links to try DotFetch v1.1.0

VS Code Marketplace:
marketplace.visualstudio.com/items...

Open VSX (VSCodium):
open-vsx.org/extension/freerave/do...

Watch the Demo:
youtube.com/shorts/DDh5MqW-ZtQ

Let's Connect on LinkedIn:
linkedin.com/in/freerave/