Files
homelab/.vscode/vscode.md
ducoterra fb5ac88686
All checks were successful
Reese's Arch Toolbox / build-and-push-arch-toolbox (push) Successful in 42m11s
add debugpy snippet to vscode
2025-03-07 11:40:26 -05:00

135 lines
2.6 KiB
Markdown

# 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)
## 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.
<https://github.com/intel/intel-one-mono>
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
```json
{
"models": [
{
"title": "qwen2.5-coder:32b",
"provider": "ollama",
"apiBase": "https://ollama.example.com",
"apiKey": "...",
"model": "qwen2.5-coder:32b"
}
],
...
```