JupyterLab ํ™•์žฅ

Git

Git์„ ์‚ฌ์šฉํ•˜์—ฌ, ๋ฒ„์ „ ์ œ์–ด
์ฐธ์กฐ - https://github.com/jupyterlab/jupyterlab-git

  1. ์ฃผ์š” ๋‚ด์šฉ
  • disableBranchWithChanges : ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ณ€๊ฒฝ ๋‚ด์šฉ์„ ๋ฎ์–ด ์“ฐ๊ฑฐ๋‚˜ ์†์‹คํ•˜์ง€ ์•Š๋„๋ก ๋ณดํ˜ธํ•จ.
  • historyCount : ๊ฐ€์žฅ ์ตœ๊ทผ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์—ฌ ๊ธฐ๋ก ๋กœ๊ทธ์— ํ‘œ์‹œ๋˜๋Š” ์ปค๋ฐ‹ ์ˆ˜ ํ‘œ์‹œ.
  • refreshInterval : ๋ณ€๊ฒฝ์„ ์œ„ํ•ด ํŒŒ์ผ ์‹œ์Šคํ…œ ํด๋ง ์‚ฌ์ด์˜ ์‹œ๊ฐ„ (๋ฐ€๋ฆฌ ์ดˆ).
  • simpleStaging : ๊ฐ„๋‹จํ•œ ์Šคํ…Œ์ด์ง• ๊ฐœ๋…์„ ๊ฐ€๋Šฅํ•˜๊ฒŒํ•จ. ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์‹œ๊ฐ์ ์œผ๋กœ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ‘œํ˜„๋จ.

1) Git clone ๋ฐฉ๋ฒ•

  • gitlab, github ๋“ฑ ๊ธฐํƒ€ repository ๊ด€๋ จ ํ”„๋กœ๊ทธ๋žจ clone ๊ฐ€๋Šฅ
  • ์ž์ฒด branch ๋ฐ repository ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ, push๋Š” ๋ถˆ๊ฐ€๋Šฅํ•จ.

jupyterext

2) ์˜ˆ์‹œ ํ™”๋ฉด

jupyterext

3) ์‚ฌ์šฉ ํ™”๋ฉด

jupyterext

Debugger

Jupyter ์†Œ์Šค ํŒŒ์ผ์„ ์œ„ํ•œ ์‹œ๊ฐ์  debugger
์ฐธ์กฐ - https://github.com/jupyterlab/debugger

  1. ์ฃผ์š” ๋‚ด์šฉ
  • python ๊ตฌ๋ฌธ ์‚ฌ์šฉ ์‹œ, ๋‹จ๊ณ„๋ณ„ ๋””๋ฒ„๊ทธ ํ™•์ธ๊ฐ€๋Šฅ
  • Kernel์€ xpython๋งŒ ๊ฐ€๋Šฅ
  • xpython์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ํฌํ•จ๋œ python ์ธํ„ฐํ”„๋ฆฌํ„ฐ์ž„.(์ฐธ๊ณ  - http://xpython.org/)

1) Kernel ๋ณ€๊ฒฝ ๋ฐฉ๋ฒ•

  • ์ตœ์ดˆ ์ง„์ž… ์‹œ, Launcher์—์„œ xpython ์„ ํƒ ๊ฐ€๋Šฅ
  • python3๋กœ ์ž‘์—… ์ค‘, Kernel ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ(์•„๋ž˜ ์ด๋ฏธ์ง€ ์ฐธ์กฐ)

jupyterext

2) ์‚ฌ์šฉ ํ™”๋ฉด

jupyter_ext

LSP

IDE์˜ ๋‹ค์–‘ํ•œ ์œ ์‚ฌ ๊ธฐ๋Šฅ ์ œ๊ณต(์ฝ”๋“œ ํƒ์ƒ‰, ํ˜ธ๋ฒ„ ์ œ์•ˆ, ๋ฆฐํ„ฐ, ์ง„๋‹จ, ์ปค๋„ ์—†๋Š” ์ž๋™ ์™„์„ฑ ๋“ฑ..)
์ฐธ์กฐ - https://github.com/krassowski/jupyterlab-lsp

  1. ์ฃผ์š” ๋‚ด์šฉ
  • Language server ์—ฐ๋™์œผ๋กœ ํ์‡„๋ง์—์„œ ์‚ฌ์šฉ๋ถˆ๊ฐ€
  • ํ•˜๋‹จ์— Fully initionalized ํ‘œ์‹œ ๋˜์–ด์•ผ ์ •์ƒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    jupyter_ext
  1. ์ƒ์„ธ ๊ธฐ๋Šฅ ์†Œ๊ฐœ
  • Highlight References - ๋ณ€์ˆ˜, ํ•จ์ˆ˜ ๋“ฑ์— ์ปค์„œ๋ฅผ ๋†“์œผ๋ฉด ๋ชจ๋“  ์‚ฌ์šฉ๋ฒ•์ด ๊ฐ•์กฐ ํ‘œ์‹œ๋จ

  • Hover - ์ฝ”๋“œ ์กฐ๊ฐ ์œ„๋กœ ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ€์ ธ๊ฐ. ๋ฐ‘์ค„์ด ๋‚˜ํƒ€๋‚˜๋ฉด Ctrl ์„ ํƒ ๊ธฐ๋Šฅ / ํด๋ž˜์Šค ์„œ๋ช…, ๋ชจ๋“ˆ ์„ค๋ช…์„œ ๋˜๋Š” ์–ธ์–ด ์„œ๋ฒ„๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐํƒ€ ์ •๋ณด๊ฐ€ ํฌํ•จ ๋œ ํˆดํŒ์„ ์–ป์„ ์ˆ˜ ์žˆ์Œ.
    jupyter_ext

  • Diagnostics - ์‹ฌ๊ฐํ•œ ์˜ค๋ฅ˜์—๋Š” ๋นจ๊ฐ„์ƒ‰ ๋ฐ‘์ค„์ด ์žˆ๊ณ  ๊ฒฝ๊ณ ๋Š” ์ฃผํ™ฉ์ƒ‰ ๋“ฑ์ด ์žˆ์Œ. ๋ฐ‘์ค„์ด ํ‘œ์‹œ๋œ ์ฝ”๋“œ ์œ„๋กœ ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ€์ ธ ๊ฐ€๋ฉด ์ž์„ธํ•œ ๋ฉ”์‹œ์ง€๊ฐ€ ํ‘œ์‹œ๋จ.
    jupyter_ext

  • Jump to Definition - ์ƒํ™ฉ์— ๋งž๋Š” ๋ฉ”๋‰ด ํ•ญ๋ชฉ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ •์˜๋กœ ์ด๋™
    jupyter_ext

  • Automatic Completion - ํŠน์ • ๋ฌธ์ž (์˜ˆ : '.' ํŒŒ์ด์ฌ์—์„œ (๋„ํŠธ), ์ž๋™ ์™„์„ฑ์„ ํŠธ๋ฆฌ๊ฑฐํ•จ
    jupyter_ext

  • Automatic Signature Suggestions - ๊ธฐ๋Šฅ ์„œ๋ช…์ด ์ž๋™์œผ๋กœ ํ‘œ์‹œ๋จ
    jupyter_ext

  • Kernel-less Autocompletion - ์ปค๋„ ์‹คํ–‰ ์—†์ด ๊ณ ๊ธ‰ ์ •์  ๋ถ„์„ ์ž๋™ ์™„์„ฑ
    jupyter_ext

  • Rename - ๋…ธํŠธ๋ถ๊ณผ ํŒŒ์ผ ํŽธ์ง‘๊ธฐ์—์„œ ๋ณ€์ˆ˜, ํ•จ์ˆ˜ ๋“ฑ์˜ ์ด๋ฆ„์„ ๋ฐ”๊ฟˆ. ์ƒํ™ฉ์— ๋งž๋Š” ๋ฉ”๋‰ด ์˜ต์…˜ ๋˜๋Š” F2๋ฐ”๋กœ ๊ฐ€๊ธฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ˜ธ์ถœ.
    jupyter_ext

  • Diagnostics panel - ์ง„๋‹จ ํŒจ๋„์„ ์‚ฌ์šฉํ•˜์—ฌ ์ง„๋‹จ์„ ์ •๋ ฌํ•˜๊ณ  ์ด๋™. JupyterLab ๋ช…๋ น ํŒ”๋ ˆํŠธ ๋˜๋Š” ์ปจํ…์ŠคํŠธ ๋ฉ”๋‰ด์—์„œ "์ง„๋‹จ ํŒจ๋„ ํ‘œ์‹œ"๋ฅผ ๊ฒ€์ƒ‰.
    jupyter_ext