127 lines
2.6 KiB
Markdown
127 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)
|
|
- [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.
|
|
|
|
<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
|
|
|
|
Continue -> Settings -> Help -> Quickstart
|
|
|
|
### Pylance Type Checking
|
|
|
|
Settings -> `python.analysis.typeChecking` |