| name | managing-vscode |
| description | Manage VSCode via Nix Home Manager: extensions, settings, keybindings, file associations.
Use for VSCode-explicit queries: installing/searching extensions (open-vsx, marketplace),
editing settings.json or keybindings.json, nixd LSP setup for .nix autocompletion, resolving
settings conflicts after nrs, default app associations (duti) for file double-click behavior,
and VSCode snippets.
Generic '์๋ํฐ' / 'ํธ์ง๊ธฐ' / '์ฝ๋ ํธ์ง๊ธฐ' queries route to configuring-neovim by default
(project's primary editor) โ invoke this skill only when the request explicitly references
VSCode or one of the VSCode-specific keywords below.
Trigger: 'VSCode', 'vscode', 'settings.json' (in VSCode context), 'keybindings.json',
'nix-ide', 'open-vsx', 'vscode-marketplace', 'VSCode ํ์ฅ', 'VSCode ํ์ฅ ํ๋ก๊ทธ๋จ',
'VSCode ์ค๋ํซ', 'VSCode duti', 'VSCode ํค๋ฐ์ธ๋ฉ'.
NOT for Neovim/LazyVim (use configuring-neovim โ this is the default editor skill).
|
VSCode ๊ด๋ฆฌ
VSCode ์๋ํฐ์ ํ์ฅ, ์ค์ , ํ์ผ ์ฐ๊ฒฐ์ Nix(Home Manager programs.vscode ๋ชจ๋)๋ก ์ ์ธ์ ๊ด๋ฆฌํ๋ ๊ฐ์ด๋.
๋ชฉ์ ๊ณผ ๋ฒ์
VSCode ์ฑ๊ณผ ํ์ฅ์ HM programs.vscode ๋ชจ๋๋ก ์ค์นํ๊ณ , settings/keybindings๋ mkOutOfStoreSymlink์ผ๋ก ์๋ฐฉํฅ ๊ด๋ฆฌํ๋ค.
GUI์์์ ํ์ฅ ์ค์น/์ ๊ฑฐ๋ ๋ถ๊ฐ๋ฅํ๋ฉฐ(mutableExtensionsDir = false), ๋ชจ๋ ๋ณ๊ฒฝ์ Nix ์ค์ ์ ํตํด์ผ ํ๋ค.
๋น ๋ฅธ ์ฐธ์กฐ
ํ์ผ ๊ตฌ์กฐ
modules/darwin/programs/vscode/
โโโ default.nix # ํ์ฅ ๋ชฉ๋ก, HM ๋ชจ๋, duti ์ค์
โโโ files/
โโโ settings.json # โ ~/Library/.../Code/User/settings.json
โโโ keybindings.json # โ ~/Library/.../Code/User/keybindings.json
~/Applications/Home Manager Apps/
โโโ Visual Studio Code.app # HM์ด ์๋ ์ค์น
~/Library/Application Support/Code/User/
โโโ settings.json # mkOutOfStoreSymlink (์๋ฐฉํฅ ์์ )
โโโ keybindings.json # mkOutOfStoreSymlink (์๋ฐฉํฅ ์์ )
โโโ snippets/*.json # HM languageSnippets๊ฐ ์๋ ์์ฑ
ํ์ฅ ์ถ๊ฐ/์ ๊ฑฐ ์ ์ฐจ
modules/darwin/programs/vscode/default.nix์์ profiles.default.extensions ์์
nrs ์คํ
- VSCode ์ฌ์์
ํ์ฅ ์์ค ์ ํ: ๋จผ์ open-vsx์์ ๊ฒ์, ์์ผ๋ฉด vscode-marketplace ์ฌ์ฉ.
์์ธ ๊ฐ์ด๋: references/extensions.md
Nix LSP (nixd)
VSCode์์ .nix ํ์ผ ํธ์ง ์ nixd LSP๊ฐ ์๋์์ฑ/ํฌ๋งทํ
์ ์ ๊ณตํฉ๋๋ค.
nixd์ nixfmt๋ VSCode ๋ชจ๋์ home.packages์ co-locate๋์ด macOS์์๋ง ์ค์น๋ฉ๋๋ค.
์์ฃผ ๋ฐ์ํ๋ ๋ฌธ์
- ํ์ฅ ๋ก๋ ์ค๋ฅ:
nrs ํ VSCode ์ฌ์์ ํ์
- GUI์์ ํ์ฅ ์ค์น ์ ๋จ:
mutableExtensionsDir = false โ Nix ์ค์ ์์ ์ถ๊ฐ ํ nrs
- settings.json ์ถฉ๋:
profiles.default.userSettings ์ฌ์ฉ ๊ธ์ง โ mkOutOfStoreSymlink๊ณผ ์ถฉ๋
๊ธฐ๋ณธ ์ฑ ์ฐ๊ฒฐ (duti)
ํ
์คํธ/์ฝ๋ ํ์ผ ๋๋ธํด๋ฆญ ์ VSCode๋ก ์ด๋ฆฌ๋๋ก duti๋ฅผ ์ฌ์ฉํ๋ค.
home.activation์์ nrs ์ ์๋ ์ ์ฉ. ์์ธ: references/settings.md
๋ ํผ๋ฐ์ค