[ํŒŒ์ด์ฌ] VS-Code keymap ์˜ค๋ฅ˜ ํ•ด๊ฒฐํ•˜๊ธฐ (shift+enter, ctrl+a ๋“ฑ)

Posted by Euisuk's Dev Log on June 9, 2024

[ํŒŒ์ด์ฌ] VS-Code keymap ์˜ค๋ฅ˜ ํ•ด๊ฒฐํ•˜๊ธฐ (shift+enter, ctrl+a ๋“ฑ)

์›๋ณธ ๊ฒŒ์‹œ๊ธ€: https://velog.io/@euisuk-chung/๊ฟ€ํŒ-vs-code-keymapping-์˜ค๋ฅ˜ํ•ด๊ฒฐํ•˜๊ธฐ-shiftenter-ctrlenter-๋“ฑ

์•ˆ๋…•ํ•˜์„ธ์š”๐Ÿค—! ์˜ค๋Š˜์€ ์ œ๊ฐ€ VS-Code๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ž์ฃผ ๊ฒช๋Š” ๋ฌธ์ œ์ธ key-mapping ๋ฌธ์ œ์™€ ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ค„๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

VS-Code๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ์—๋””ํ„ฐ์ž…๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋‹ค์–‘ํ•œ ๋‹จ์ถ•ํ‚ค๊ฐ€ ์ง€์›๋˜๋‹ค ๋ณด๋‹ˆ, ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๋ฐ์ดํ„ฐ ๊ณผํ•™์ž๋‚˜ ๋ถ„์„๊ฐ€๋กœ์„œ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ, ํŠน์ • ๋‹จ์ถ•ํ‚ค๊ฐ€ ๋จนํ†ต์ด ๋˜๋Š” ๋ฌธ์ œ๋ฅผ ์ž์ฃผ ๊ฒฝํ—˜ํ•ฉ๋‹ˆ๋‹ค.

VSCode

Source: https://code.visualstudio.com/docs/getstarted/keybindings

์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ด๋Ÿฌํ•œ keymapping (๋˜๋Š” keybinding) ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

  1. Extension ์„ค์น˜๋กœ ํ•ด๊ฒฐํ•˜๊ธฐ

๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์€ VSCode ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ ์ œ๊ณตํ•˜๋Š” ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ(Extension)์„ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

extension

๋‹ค์–‘ํ•œ keymap ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ(Extension)๋“ค์ด ๋งˆ์ผ“ํ”Œ๋ ˆ์ด์Šค์—์„œ ์ œ๊ณต๋˜๊ณ  ์žˆ์œผ๋ฉฐ, ์ €์˜ ๊ฒฝ์šฐ ์ฃผํ”ผํ„ฐ๋…ธํŠธ๋ถ์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์œผ๋ฏ€๋กœ Jupyter Keymap์„ ์„ค์น˜ํ•˜๋„๋ก ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

keymap

Source: https://code.visualstudio.com/docs/getstarted/keybindings

ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•˜๋ฉด ๋Œ€๋‹ค์ˆ˜์˜ keymapping ๋ฌธ์ œ๊ฐ€ ํ•ด๊ฒฐ๋˜์ง€๋งŒ, ๋•Œ๋กœ๋Š” ์„ค์น˜ํ•œ ํŒจํ‚ค์ง€ ๊ฐ„ ์ถฉ๋Œ๋กœ ์ธํ•ด ๋ฌธ์ œ๊ฐ€ ์™„์ „ํžˆ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ์ €์˜ ๊ฒฝ์šฐ Shift + Enter๋Š” ์ž˜ ์ž‘๋™ํ•˜์ง€๋งŒ Ctrl + A๊ฐ€ ๋จนํ†ต์ด ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. ์ง์ ‘ ํ‚ค ๋ฐ”์ธ๋”ฉ ์ง€์ •ํ•˜์—ฌ ํ•ด๊ฒฐํ•˜๊ธฐ

ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜๋กœ ํ•ด๊ฒฐ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ์ง์ ‘ ํ‚ค ๋ฐ”์ธ๋”ฉ์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ผ ์ง„ํ–‰ํ•ด ๋ณด์„ธ์š”.

1. Keyboard Shortcuts ์„ค์ •์œผ๋กœ ์ด๋™

  • ์˜๋ฌธ VSCode: File -> Preferences -> Keyboard Shortcuts
  • ํ•œ๊ธ€ VSCode: ํŒŒ์ผ -> ๊ธฐ๋ณธ ์„ค์ • -> ๋ฐ”๋กœ๊ฐ€๊ธฐ ํ‚ค

VSCODE

2. Open Keyboard Shortcuts(JSON) ํด๋ฆญ

  • ์˜๋ฌธ VSCode: Open Keyboard Shortcuts(JSON)
  • ํ•œ๊ธ€ VSCode: ๋ฐ”๋กœ๊ฐ€๊ธฐ ํ‚ค ์—ด๊ธฐ(JSON)

JSON

3. ์›ํ•˜๋Š” ๋‹จ์ถ•ํ‚ค ์ง€์ • ๋ฐ ์ €์žฅ

์•„๋ž˜๋Š” Shift + Enter์™€ Ctrl + A ํ‚ค ๋ฐ”์ธ๋”ฉ์„ ์„ค์ •ํ•˜๋Š” ์˜ˆ์‹œ์ž…๋‹ˆ๋‹ค.

1
2
3
4
5
6
7
8
9
10
11
12
13
// ํ‚ค ๋ฐ”์ธ๋”ฉ์„ ์ด ํŒŒ์ผ์— ๋„ฃ์–ด์„œ ๊ธฐ๋ณธ๊ฐ’ ์žฌ์ •์˜
[
    {
        "key": "shift+enter",
        "command": "notebook.cell.executeAndSelectBelow",
        "when": "notebookCellListFocused"
    },
    {
        "key": "ctrl+a",
        "command": "editor.action.selectAll",
        "when": "editorTextFocus && !editorReadonly"
    }
]

3.1. Shift + Enter ํ‚ค ๋ฐ”์ธ๋”ฉ ์„ค์ •

1
2
3
4
5
{
    "key": "shift+enter",
    "command": "notebook.cell.executeAndSelectBelow",
    "when": "notebookCellListFocused"
}
  • ํ‚ค(key): shift+enter
  • ๋ช…๋ น์–ด(command): notebook.cell.executeAndSelectBelow
  • ์กฐ๊ฑด(when): notebookCellListFocused

๐Ÿ“Œ ์„ค๋ช…: ์ด ์„ค์ •์€ Shift + Enter ํ‚ค๋ฅผ ๋ˆ„๋ฅผ ๋•Œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

notebook.cell.executeAndSelectBelow ๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ์ฃผํ”ผํ„ฐ ๋…ธํŠธ๋ถ ์…€์„ ์‹คํ–‰ํ•˜๊ณ  ๋‹ค์Œ ์…€์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋‹ค์Œ ์…€์ด ์—†๋‹ค๋ฉด ์ƒˆ ์…€์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์–ด๋Š” ๋…ธํŠธ๋ถ ์…€ ๋ฆฌ์ŠคํŠธ๊ฐ€ ํฌ์ปค์Šค๋œ ์ƒํƒœ์—์„œ๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

3.2. Ctrl + A ํ‚ค ๋ฐ”์ธ๋”ฉ ์„ค์ •

1
2
3
4
5
{
    "key": "ctrl+a",
    "command": "editor.action.selectAll",
    "when": "editorTextFocus && !editorReadonly"
}
  • ํ‚ค(key): ctrl+a
  • ๋ช…๋ น์–ด(command): editor.action.selectAll
  • ์กฐ๊ฑด(when): editorTextFocus && !editorReadonly

๐Ÿ“Œ ์„ค๋ช…: ์ด ์„ค์ •์€ Ctrl + A ํ‚ค๋ฅผ ๋ˆ„๋ฅผ ๋•Œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

editor.action.selectAll ๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ์—์„œ ๋ชจ๋“  ํ…์ŠคํŠธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ช…๋ น์–ด๋Š” ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ๊ฐ€ ํฌ์ปค์Šค๋œ ์ƒํƒœ์ด๊ณ , ํŽธ์ง‘๊ธฐ๊ฐ€ ์ฝ๊ธฐ ์ „์šฉ์ด ์•„๋‹Œ ๊ฒฝ์šฐ์—๋งŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๋งˆ๋ฌด๋ฆฌ

์ด๋ ‡๊ฒŒ ํ•ด์„œ VSCode์—์„œ ๋ฐœ์ƒํ•˜๋Š” keymapping ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์•˜์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๊ธ€์ด ๋„์›€์ด ๋˜์…จ๊ธธ ๋ฐ”๋ผ๋ฉฐ ๋‹ค์Œ์— ๋˜ ๋‹ค๋ฅธ ์œ ์šฉํ•œ ํŒ์œผ๋กœ ์ฐพ์•„๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜๋„ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๐Ÿ˜Š



-->