Visual Studio Code
IDE pro práci s Pythonem, ale i řadou dalších jazyků a technologií, ke stažení zde. Obsahuje synchronizaci nastavení, extenzí a dalších skrze účet Microsoft (školní, či Outlook.com ) nebo GitHub. Veškerá nastavení se ukládají do JSON souborů a lze je tak snadno sdílet a modifikovat.
Podporuje vytváření profilů pro různé druhy práce. Je vhodné si rovnou vytvořit speciální profil pro různé technologie (např. Python).
Užitečné klávesové zkratky
F1- paleta nástrojů - zde se vyhledávají příkazy VS Code
Nastavení, pro zkopírování do příslušných JSON souborů
Většina nastavení má dvě úrovně. Globální – uložené v uživatelském profilu a lokální – uložené v projektu ve složce .vscode. Lokální přepisují globální. Pomocí lokálních nastavení lze upravovat specifické chování projektu.
Klávesové zkratky
- v paletě nástrojů vyhledat
Keyboard Shortcuts (JSON)
{
{
"key": "ctrl+d",
"command": "editor.action.duplicateSelection"
},
{
"key": "ctrl+shift+c",
"command": "editor.action.commentLine",
"when": "editorTextFocus && !editorReadonly"
},
{
"key": "f5",
"command": "python.execInTerminal-icon"
},
{
"key": "shift+f5",
"command": "debugpy.debugInTerminal"
},
}Uživatelská nastavení
- v paletě nástrojů buď
User Settings (JSON)- globálníWorkspace Settings (JSON)- lokální
- uvádíme pouze části JSONu
VS Code nastavení
// nastavení pro vzhled a chování editoru
"workbench.colorTheme": "Default Dark Modern",
"workbench.startupEditor": "none",
"workbench.editor.enablePreview": false,
// nastavení výchozí terminálu ve Windows na command prompt - často nesprávně vybírá powershell
"terminal.integrated.defaultProfile.windows": "Command Prompt",
// nastavení pro průzkumníka - potvrzení před smazáním souborů a přesouváním
"explorer.confirmDelete": false,
"explorer.confirmDragAndDrop": false,
// nastavení pro editor - - upravy souborů
"editor.suggestSelection": "first",
"editor.bracketPairColorization.enabled": true,
"editor.guides.bracketPairs": "active",
"editor.stickyScroll.enabled": true,
"editor.formatOnSave": true,Python úprava kódu
"[python]": {
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
},
"editor.formatOnSave": true,
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
},
}
// nastavení pro notebooky - formátování, organizace importů a další úpravy při ukládání
"notebook.formatOnSave.enabled": true,
"notebook.defaultFormatter": "ms-python.black-formatter",
"notebook.codeActionsOnSave": {
"source.organizeImports": "explicit",
},Python extenze
"flake8.args": [
"--max-line-length",
"120"
],
"isort.args": [
"--profile",
"black",
"--line-width",
"120"
],
"black-formatter.args": [
"--line-length",
"120"
],
"pylint.args": [
"--disable=E0611",
"--max-line-length=120"
],Vynechání složek např. při prohledávání souborů
"files.exclude": {
"**/__pycache__": true,
"**/.classpath": true,
"**/.factorypath": true,
"**/.project": true,
"**/.settings": true,
"**/.mypy_cache": true,
"**/.pytest_cache": true,
},Extenze
- extenze lze instalovat buď globálně do uživatelského profilu a nebo uložit do souboru
.vscode/extensions.jsonve složce projektu, tyto extenze pak budou dostupné specificky pro daný projekt
Doporučené extenze pro VS Code
V závorce uvádíme id extenze, pomocí kterého je též možné vyhledávat.
- GitHub Copilot (GitHub.copilot) - umělá inteligence pro psaní kódu
- Czech - Code Spell Checker (streetsidesoftware.code-spell-checker-czech) - český slovník pro kontroly pravopisu, pokud bude část textů v češtině
- SVG (jock.svg) - zobrazování a úpravy SVG souborů
- Todo Highlight (wayou.vscode-todo-highlight) - zvýraznění TODO a podobných komentářů
- YAML (redhat.vscode-yaml) - podpora YAML formátu
- Markdown All in One (yzhang.markdown-all-in-one) - podpora Markdown formátu
- markdownlint (DavidAnson.vscode-markdownlint) - kontrola Markdown formátu
{
// List of extensions which should be recommended for users of this workspace.
"recommendations": [
// github copilot
"GitHub.copilot-chat",
// kontrola pravopisu pro češtinu
"streetsidesoftware.code-spell-checker-czech",
// práce s SVG grafikou
"jock.svg",
// zvýraznění TODO, FIXME a dalších poznámek v kódu
"wayou.vscode-todo-highlight",
// podpora pro práci s YAML soubory
"redhat.vscode-yaml",
// podpora pro práci s Markdown soubory (*.md) jako jsou README.md
"yzhang.markdown-all-in-one",
"DavidAnson.vscode-markdownlint",
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": [
]
}Doporučené extenze pro Python
- některé extenze vyžadují konkrétní Pythonové balíčky - viz definice Conda environmentu u předmětu PGIS2
- níže následuje seznam doporučených extenzí pro Python
{
// List of extensions which should be recommended for users of this workspace.
"recommendations": [
// nezbytné extenze pro Python
"ms-python.python",
"ms-python.debugpy",
// formátování Python kódu
"ms-python.black-formatter",
"ms-python.isort",
// kontroly kvality kódu a typů pro Python
"ms-python.vscode-pylance",
"ms-python.autopep8",
"ms-python.flake8",
"ms-python.mypy-type-checker",
"ms-python.pylint",
],
// List of extensions recommended by VS Code that should not be recommended for users of this workspace.
"unwantedRecommendations": [
]
}Nastavení projektů využívajících QGIS Python API na Windows
Viz informace u OSGEO4W.
Doporučená struktura projektu
Projekt
├── .vscode
│ ├── extensions.json
│ ├── settings.json
├── data
│ ├── saved
| | ├── vytvoreny_soubor.pripona
│ ├── datove_soubory.pripona
| 01_priklad.py
| 02_priklad.py
| utils.py