# VSCODE Configuration - [VSCODE Configuration](#vscode-configuration) - [Debugpy Snippet](#debugpy-snippet) - [Fix Paste (if ctrl+v not working)](#fix-paste-if-ctrlv-not-working) - [Shell](#shell) - [Fonts](#fonts) - [Navigation](#navigation) - [Extensions](#extensions) - [Continue](#continue) - [Pylance Type Checking](#pylance-type-checking) ## Debugpy Snippet Use this to add debugging to any project ```python # Listens on 5678 # Only runs if ACTIVATE_DEBUGPY=true is set if os.getenv("ACTIVATE_DEBUGPY", "").lower() == "true": try: import debugpy debugpy.listen(("0.0.0.0", 5678)) print("Waiting for client on 5678...") debugpy.wait_for_client() print("Client connected") except Exception as e: print("DEBUG ERROR: " + str(e)) ``` ## Fix Paste (if ctrl+v not working) Add to user keyboard settings (json) ```json { "key": "ctrl+v", "command": "-editor.action.clipboardPasteAction" }, ``` ## Shell I would recommend using tmux as your default shell. VSCode automatically creates new sessions when adding or splitting windows. The only small problem is closing out of vscode and reopening it won't reattach the previous sessions. You'll need to run `tmux switch-client -t #` to get back to each session you lost. ```json "terminal.integrated.profiles.osx": { //...existing profiles... "tmux-shell": { "path": "tmux", } } ``` ```bash { "terminal.integrated.defaultProfile.linux": "tmux", } ``` ## Fonts Intel One Mono is designed to be easily readable for developers. Download and extract the ttf.zip ```bash mkdir ~/.local/share/fonts rsync -av /path/to/download/*.ttf ~/.local/share/fonts/ ``` Edit settings.json ```json { "editor.fontFamily": "Intel One Mono", "editor.fontLigatures": true, "terminal.integrated.fontFamily": "Intel One Mono", } ``` ## Navigation The best navigation shortcut ever is alt+left and alt+right to move the cursor to it's previous positions. ```json [ { "key": "alt+left", "command": "workbench.action.navigateBack", "when": "" }, { "key": "alt+right", "command": "workbench.action.navigateForward", "when": "" } ] ``` ## Extensions To save a list of installed extensions run: ```bash code --list-extensions >> vscode_extensions.txt ``` To install that list of extensions run: ```bash cat vscode_extensions.txt | xargs -L 1 code --install-extension ``` ### Continue Continue -> Settings -> Help -> Quickstart ### Pylance Type Checking Settings -> `python.analysis.typeChecking`