Nifty gRPC
Call gRPC services from .grpc files and edit .proto files: unary and streaming calls, metadata, TLS, request templates from your protos, outline and error checking.
Maintained. No sign-in. No telemetry. Works in VS Code, Cursor, Windsurf, VSCodium and other editors that use Open VSX.
Features


- gRPC calls as text files. Write calls in
.grpc files, commit them next to your protos, and click Send gRPC Request (Ctrl+Alt+R). No separate app, no account.
- Every kind of call. Unary, server streaming, client streaming (send a JSON array of messages) and bidirectional streaming, with metadata, deadlines and TLS.
- Your protos, found for you. Nifty gRPC finds the
.proto that declares the service in your workspace, including its imports. Or point at one with # @proto ./api/shop.proto.
- A clear response view. Status code and name, timing, every streamed message as colored JSON, response headers and trailers, and the exact request that was sent.
- Try it from the proto. A Try it link above every
rpc in a .proto file writes a ready-to-send request, with every field of the request message filled in with a sample value, including nested messages, enums and repeated fields.
.proto editing: syntax highlighting, outline and breadcrumbs for messages, enums, services and rpcs, and syntax errors as you type.
- Variables:
@host = localhost:50051 then {{host}}, plus {{$uuid}}, {{$timestamp}} and {{$env.TOKEN}}.
- Service/method completion on the
GRPC line, from every proto in the workspace.
Example
@host = localhost:50051
### Get an item
# @deadline 5s
GRPC {{host}} shop.v1.Catalog/GetItem
authorization: Bearer {{$env.TOKEN}}
{ "id": "42" }
### Upload several (client streaming)
GRPC {{host}} shop.v1.Catalog/AddItems
[{ "name": "Mug" }, { "name": "Lamp" }]
Local addresses use plaintext and anything else uses TLS, unless you write grpc:// / grpcs:// or add # @insecure / # @tls.
Commands
| Command |
What it does |
Nifty gRPC: Send gRPC Request |
Call the request under the cursor (Ctrl+Alt+R) |
Nifty gRPC: Try a Method from This Proto… |
Write a sample request for an rpc |
Nifty gRPC: New gRPC Request File |
Open an example .grpc file |
Settings
| Setting |
Default |
What it does |
nifty.grpc.importPaths |
[] |
Extra folders for proto imports |
nifty.grpc.deadlineSeconds |
30 |
Call deadline (# @deadline 5s per request) |
nifty.grpc.allowSelfSignedCertificates |
false |
Accept self-signed certificates |
nifty.grpc.defaultHost |
localhost:50051 |
Host for requests created with Try it |
Install
- VS Code: search for "Nifty gRPC" in the Extensions view, or install from the Visual Studio Marketplace.
- Cursor, Windsurf, VSCodium, Kiro, Antigravity: install from Open VSX.
Privacy
This extension collects no telemetry and needs no account.
- Nifty REST Client: .http Files & HTTP Requests: Send HTTP requests from .http files: variables, environments, request chaining, response viewer, cURL import and export, and history. No account, no cloud. (Open VSX)
- Nifty .NET Explorer: Solution & Test Explorer: A solution explorer and test explorer for .NET in VS Code, Cursor, Windsurf and VSCodium: projects, references and files from .sln/.slnx, and xUnit, NUnit and MSTest tests in the Testing view. (Open VSX)
- Nifty OpenAPI: Outline, Checks and Try It for API Specs: Edit OpenAPI and Swagger files with an outline, $ref navigation and completion, error checking, example payloads, and Try it requests for your REST client. (Open VSX)
- Nifty C# Scratchpad: Run C# Snippets & NuGet: Run C# snippets instantly with NuGet packages and rich Dump() output, a LINQPad-style scratchpad and Polyglot Notebooks replacement. (Open VSX)
- Nifty C# Templates: New Class, Record & Namespace: New C# class, interface, record, enum, test and controller files with the right namespace, plus namespace syncing. (Open VSX)
- Nifty Code Runner: Run Code in 25+ Languages: Run the current file or selection in 25+ languages in the terminal, with input support, your own commands and no telemetry. (Open VSX)
See all 100+ Nifty extensions and web tools at https://getnifty.dev
| |