Skip to content
| Marketplace
Sign in
Visual Studio Code>Keymaps>YAML Path CopyNew to Visual Studio Code? Get it now.
YAML Path Copy

YAML Path Copy

Ilia K.

|
5 installs
| (1) | Free
| Sponsor
Copy the full dotted key path from any YAML file to clipboard — one keystroke (Cmd+Alt+Y)
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

YAML Path Copy

One keystroke to copy the full dotted key path from any YAML file to your clipboard.

CI Version Installs Rating VS Code License: MIT


What it does

Place your cursor on any YAML key and press Cmd+Alt+Y (Mac) / Ctrl+Alt+Y (Win/Linux). The full dotted path is copied to clipboard instantly — no config, no setup.

en:
  api:
    problems:
      server_error: 'Oops, something went wrong'  # ← cursor here

Clipboard: en.api.problems.server_error


Demo

YAML Path Copy demo


Features

  • Instant — resolves full dotted path at any nesting depth
  • Three triggers — keybinding, Command Palette, right-click context menu
  • Smart — skips blank lines, comments, array items when resolving parents
  • Colon-safe — handles values with colons (URLs, timestamps)
  • Zero config — works on all .yml / .yaml files out of the box
  • Tiny — 1 KB bundled, activates only when a YAML file is open

Usage

Keybinding

Platform Shortcut
macOS Cmd + Alt + Y
Windows / Linux Ctrl + Alt + Y

Command Palette

Cmd+Shift+P → type Copy YAML Path → Enter

Context Menu

Right-click in any YAML file → Copy YAML Path


Examples

Rails i18n locales

en:
  activerecord:
    errors:
      models:
        user:
          attributes:
            email:
              taken: 'has already been taken'
              # → en.activerecord.errors.models.user.attributes.email.taken

Kubernetes / Docker Compose

services:
  web:
    environment:
      DATABASE_URL: postgres://...  # → services.web.environment.DATABASE_URL

GitHub Actions

jobs:
  build:
    runs-on: ubuntu-latest  # → jobs.build.runs-on

Any nested config

feature_flags:
  payments:
    stripe:
      webhook_secret: sk_live_...  # → feature_flags.payments.stripe.webhook_secret

Configuration

Exclude prefixes

In i18n workflows the locale key is often implicit — your code calls t('base.action'), not t('en.base.action'). Configure yaml-path-copy.excludePrefixes to strip those leading segments automatically.

settings.json:

{
  "yaml-path-copy.excludePrefixes": ["en"]
}

With this set, placing your cursor on server_error below:

en:
  api:
    problems:
      server_error: 'Oops, something went wrong'

…copies api.problems.server_error instead of en.api.problems.server_error.

Multiple prefixes are supported (e.g. ["en", "ar"]). The first matching prefix is stripped.


Rebinding the shortcut

Cmd+K Cmd+S → search yaml-path-copy.copyPath, or add to keybindings.json:

{
  "key": "cmd+shift+c",
  "command": "yaml-path-copy.copyPath",
  "when": "editorLangId == yaml"
}

Requirements

  • VS Code 1.63.0 or newer
  • No runtime dependencies

Known Limitations

  • Flow-style YAML ({key: value} inline) — path resolves to null
  • Multi-document YAML (--- separator) — each document treated independently
  • Anchors / aliases (&anchor, *alias) — alias key name copied, not anchor's path

Release Notes

See full CHANGELOG.

0.3.0

  • excludePrefixes setting for stripping locale/namespace prefixes before copying

0.2.1

  • CI fixes: Node.js 24, publish from vsix, GitHub release permissions
  • Version bump automation with CHANGELOG guard

0.2.0

  • Initial stable marketplace release

Contributing

git clone https://github.com/ldrner/yaml-path-copy
npm install
npm run watch      # rebuild on save
# Press F5 in VS Code → Extension Development Host opens
npm run test:unit  # unit tests
npm run lint       # ESLint

Open an issue before large changes.


License

MIT © Ilia Kriachkov

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft