1.3. Development Environment

1.3.1. What is IDE?

  • Integrated Development Environment

  • Refactoring

  • Syntax autocompletion and highlighting

  • Type hinting and checking

  • VCS support

  • Virtualenv support

  • Debugging

  • Spell checking

  • Running code and inspections

  • File Scopes and views

  • Database explorer

  • Support for testing (doctest, unittest)

  • Jump to line in exceptions

1.3.2. How to Choose?

  • Nie ma znaczenia z jakiego IDE skorzystasz!

  • Do edycji skryptów Pythona wystarczy sam Notatnik lub Jupyter

  • W miarę rośnięcia złożoności projektu oraz ilości plików przyda nam się coś co ułatwi nam pracę

  • Dobre IDE pomoże Ci w refaktoringu, podpowiedziach typów, debuggingu oraz pracy z systemem kontroli wersji

  • PyCharm ma dwie wersję płatną oraz darmową, wersja darmowa w zupełności nam wystarczy

  • Ciekawą alternatywą może być PyDev - plugin do środowiska Eclipse

1.3.3. Which One is the Best?

  1. PyCharm Professional (Not-free)

  2. PyCharm Community

  3. Jupyter Notebook

  4. Visual Studio Code

  5. PyDev

  6. Spyder

  7. Atom

  8. Vim

This are my preferences. Choosing best IDE is very opinionated.

1.3.4. Keyboard Shortcuts

Table 1.1. PyCharm Keyboard shortcuts

Key Combination

Action

ctrl + /

Comment multiple lines

alt + F12

Open Terminal

shift + F6

Refactor... Rename

tab

Indent (also used on multiple lines)

shift + tab

Un-indent (also used on multiple lines)

alt + 1

Show file drawer

Run

Show console

Actions

ctrl + g

Jump to line

ctrl + f

Search in file

ctrl + r

Replace in file

1.3.5. Assignments

Code 1.7. Solution
"""
* Assignment: About IDE Usage
* Complexity: easy
* Lines of code: 0 lines
* Time: 8 min

English:
    TODO: English Translation

Polish:
    1. Jak zrobić w Twoim IDE:
        a. Run...
        b. Run in console
        c. Debug...
        d. Python Console
        e. Terminal
        f. Full Screen
        g. Distraction Free Mode
        h. Reformat Code
        i. Scope
    2. Jakie są skróty klawiszowe do poszczególnych opcji?
    3. Czym się różni `Run...` od `Debug...`?
    4. Czym się różni `Python Console` od `Terminal`
    5. Czym się różni `Distraction Free Mode` od `Full Screen`
    6. Ustaw Scope tak, aby ukryć katalog z Virtualenv
"""

Code 1.8. Solution
"""
* Assignment: About IDE Spellchecker
* Complexity: easy
* Lines of code: 0 lines
* Time: 5 min

English:
    TODO: English Translation

Polish:
    1. Zainstaluj w PyCharm plugin 'Hunspell' (File -> Settings -> Plugins -> Marketplace -> 'Hunspell')
    2. Pobierz z https://github.com/LibreOffice/dictionaries/tree/master/pl_PL słownik `.dic` oraz `.aff` dla języka polskiego
        a. https://raw.githubusercontent.com/LibreOffice/dictionaries/master/pl_PL/pl_PL.aff
        b. https://raw.githubusercontent.com/LibreOffice/dictionaries/master/pl_PL/pl_PL.dic
    3. Skonfiguruj IDE do korzystania z tego słownika (File -> Settings -> Editor -> Spelling -> Add custom dictionary)
"""