https://github.com/mithatercan/json-key-search
Json Key Finder is a lightweight VSCode extension that lets you quickly locate deeply nested object keys in JSON, JavaScript, and TypeScript files using dot notation.
https://github.com/mithatercan/json-key-search
json-keys vscode-extension
Last synced: about 2 months ago
JSON representation
Json Key Finder is a lightweight VSCode extension that lets you quickly locate deeply nested object keys in JSON, JavaScript, and TypeScript files using dot notation.
- Host: GitHub
- URL: https://github.com/mithatercan/json-key-search
- Owner: mithatercan
- Created: 2025-08-09T19:25:58.000Z (10 months ago)
- Default Branch: master
- Last Pushed: 2025-08-09T21:39:13.000Z (10 months ago)
- Last Synced: 2025-10-17T13:57:48.617Z (8 months ago)
- Topics: json-keys, vscode-extension
- Language: JavaScript
- Homepage: https://marketplace.visualstudio.com/items?itemName=MithatErcan.json-key-search
- Size: 1.98 MB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# JSON Key Search (VS Code Extension)
Search deeply nested keys in JSON/JSONC and JS/TS object literals using dot notation. Precisely selects the matching value (string content only, or the full token/object/array for non-strings) and supports a live search UI similar to Ctrl+F.
## Features
- Exact dot-path lookup with structure-aware nesting (no false matches from siblings)
- Works with JSON/JSONC and JS/TS objects (quoted and unquoted keys)
- Selects just the final value content
- Live search input that updates selection as you type
## Requirements
- VS Code ^1.75.0
## Commands
- `extension.searchJsonKey`: One-shot input. Jumps to the value of the provided dot-path.
- `extension.searchJsonKeyLive`: Live search input. Updates selection on each keystroke.
## Default Keybinding
- Live search: `Ctrl+Alt+J` (Windows/Linux), `Cmd+Alt+J` (macOS)
## How to Use (for Marketplace)
- Open a JSON/JSONC/JS/TS file containing nested objects.
- Press the default keybinding or run the command from the Command Palette:
- “Search JSON Field by Dot Notation (Live)” for a live Ctrl+F-like search.
- “Search JSON Field by Dot Notation” for a single prompt.
- Type a path like `messages.errors.no_permission`.
- The extension selects only the value of that key (string content without quotes, or the full non-string value).
## Usage
1. Open a JSON/JSONC/JS/TS file that contains nested data.
2. Run a command:
- Command Palette → “Search JSON Field by Dot Notation” (one-shot), or
- Command Palette → “Search JSON Field by Dot Notation (Live)” (live UI), or
- Press the default keybinding for the live search.
3. Enter a dot-path, e.g. `messages.errors.no_permission`.
4. The extension will select only the final value.
## Examples
Given:
```ts
export const en = {
pages: {
login: {
title: 'Login',
settings: {
mac_address: { title: 'MAC' },
},
},
},
messages: {
errors: {
no_permission: 'You do not have permission',
},
},
}
```
- Searching `messages.errors.no_permission` selects: `You do not have permission` (inside quotes only).
- Searching `pages.login.settings.mac_address.title` selects: `MAC` (exact nesting; does not match `pages.login.title`).
## Installation (Local dev)
- Clone this repo, then open it in VS Code.
- Press F5 (Run Extension) to launch a new Extension Development Host.
## Packaging (optional)
- Use `vsce` if you want to package/publish:
- Install: `npm i -g @vscode/vsce`
- Package: `vsce package`
## Notes & Limitations
- The matcher is tolerant but still expects syntactically valid structures.
- For large files, live updates use a small debounce (≈120ms).
- Keys are matched exactly by segment; the final segment is not prefix-matched.
## License
MIT