Skip to content

Wskazówki: Konfiguracja Edytora

Jan Marcinkowski edited this page Sep 12, 2020 · 8 revisions

Visual Studio Code

Większość pracy odbywa się w folderze zapisy/, więc tylko ten folder mam otwarty w edytorze.

Rozszerzenia

Mam zainstalowane następujące rozszerzenia: „Python”, „Pyright” (szybki type-checking dla Pythona), „Prettier - Code formatter”, „Vetur” (do pisania komponentów w bibliotece Vue).

Virtualenv

Virtualenv/Venv to popularne Pythonowe narzędzie. Tworzy ono katalog, w którym zainstalowane będą wszystkie zależności konkretnego projektu. W ten sposób różne projekty na tym samym komputerze nie wchodzą sobie w drogę. Virtualenv tworzymy w folderze zapisy/ komendą

python3 -m venv venv    # Uwaga musimy mieć zainstalowanego Pythona 3 oraz moduł venv — na Ubuntu są to paczki python3 i python3-venv.

i możemy je „załadować”

source venv/bin/activate

Dzięki temu, gdy zainstalujemy pythonowe zależności

pip install -r requirements.development.txt

będą one żyły wyłącznie w naszym projekcie. VSCode sam wykryje to wirtualne środowisko i będzie go używało. Dzięki temu, gdy napiszemy coś podejrzanego (na przykład błędny import), edytor często to podkreśli na czerwono.

Typescript i assety

VSCode sam z siebie rozumie JavaScript/Typescript — także ten w plikach .vue. Przy formatowaniu plików dodatek prettier-vscode się denerwuje, że w pliku package.json wśród zależoności prettier występuje, ale nie jest zainstalowany. Mimo tego ostrzeżenia kod się formatuje za pomocą wersji formattera wbudowanej w dodatek. Dla świętego spokoju można odpalić

yarn && yarn dlx @yarnpkg/pnpify --sdk vscode

co instaluje wszystkie zależności JS-owe, i doda odpowiednie ustawienia do .vscode/settings.json. Nie jest to jednak konieczne.

Ustawienia edytora

Mój plik .vscode/settings.json wygląda tak (bez komentarzy):

{
  "python.pythonPath": "venv/bin/python",    // Wskazuje na binarkę Pythona w naszym Virtualenv'ie.
  "python.formatting.provider": "yapf",      // Czym formatować pliki Pythona.
  "python.formatting.yapfArgs": [            // Jak je formatować.
    "--style={based_on_style: facebook, column_limit 100}"
  ],
  "python.linting.flake8Enabled": true,      // Używa flake8 do sprawdzania formatowania. Flake8 jest też używany w naszych testach.
  "python.linting.pylintEnabled": false,
  "files.exclude": {                         // Nie pokazuje tych katalogów w panelu po lewej. Wyłącza to też szukanie w nich.
    ".vscode": true,
    "**/venv": true,
    ".yarn": true
  }
}