ΠΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½Π° Π΅ Π²Π΅ΡΡΠΈΡΡΠ° Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ°Π½Π°ΡΠ° ΡΡΠ΅Π΄Π° Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ° Qt Creator 10.0, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΌΠ΅ΠΆΠ΄ΡΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅Π½ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° Qt. ΠΠΎΠ΄Π΄ΡΡΠΆΠ° ΡΠ΅ ΠΊΠ°ΠΊΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°ΡΠ° Π½Π° ΠΊΠ»Π°ΡΠΈΡΠ΅ΡΠΊΠΈ C++ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΈ, ΡΠ°ΠΊΠ° ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° Π΅Π·ΠΈΠΊΠ° QML, Π² ΠΊΠΎΠΉΡΠΎ JavaScript ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, Π° ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ½ΠΈΡΠ΅ Π΅Π»Π΅ΠΌΠ΅Π½ΡΠΈ ΡΠ΅ Π·Π°Π΄Π°Π²Π°Ρ ΠΎΡ CSS-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π±Π»ΠΎΠΊΠΎΠ²Π΅. Π€ΠΎΡΠΌΠΈΡΠ°Ρ ΡΠ΅ Π³ΠΎΡΠΎΠ²ΠΈ ΡΠ±ΠΎΡΠΊΠΈ Π·Π° Linux, Windows ΠΈ macOS.
Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ:
- ΠΡΠΈΠ³ΡΡΠ΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ ΠΈ ΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° Π΄Π΅ΡΠ°ΠΉΠ»ΠΈΡΠ΅ ΠΎΡ Ρ ΠΎΠ΄Π° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅.
- Π Π»Π΅Π½ΡΠ°ΡΠ° Π·Π° ΡΡΡΡΠ΅Π½Π΅ (ΠΠΎΠΊΠ°ΡΠΎΡ) ΠΏΡΠΎΠ±Π»Π΅ΠΌΡΡ ΡΡΡ Π·Π°ΠΏΠΎΠΌΠ½ΡΠ½Π΅ΡΠΎ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄Π½Π°ΡΠ° Π²ΡΠ²Π΅Π΄Π΅Π½Π° ΡΡΠ°Π·Π° Π·Π° ΡΡΡΡΠ΅Π½Π΅ ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΎΡΠ²ΠΎΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π² ΡΠ΅Π½ΡΡΠΈΡΠ°Π½ ΠΈΠ·ΡΠΊΠ°ΡΠ°Ρ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ Π±Π΅ΡΠ΅ ΡΠ΅ΡΠ΅Π½.
- ΠΠ°ΠΊΠ΅ΡΠΈΡΠ°Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π½Π° LLVM Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° Π΄ΠΎ Π²Π΅ΡΡΠΈΡ 16 Ρ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ° C++20 Π² Clang ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½Π° ΡΡΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡ ΠΌΠ΅ΠΆΠ΄Ρ Qt Creator ΠΈ Clangd. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΏΡΠΈΡΡΠ°Π²ΠΊΠ°ΡΠ° ClangFormat Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π°, ΠΊΠΎΡΡΠΎ ΡΠ΅Π³Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΠΎΠ΄ΡΠ°Π²Π½ΡΠ²Π°Π½Π΅ Π½Π° C++ ΠΊΠΎΠ΄.
- ΠΡΠ²Π΅Π΄Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ (ΡΡΠ΅Π· Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅) ΠΈ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠΈ Π² C++ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ»Π΅Π΄ ΠΏΡΠ΅ΠΈΠΌΠ΅Π½ΡΠ²Π°Π½Π΅ Π½Π° β.uiβ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ ΡΠΎΡΠΌΡΠ»ΡΡΠΈ, Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΈ Π² ΡΡΡ .
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ (ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ > C++ > ΠΠ°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ) Π·Π° Π½Π°ΠΌΠΈΡΠ°Π½Π΅ Π½Π° Π½Π΅ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΏΡΠΎΠ΅ΠΊΡ.
- ΠΠΎΠ±Π°Π²Π΅Π½ Π΅ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΡΠ΅Π³Π»Π΅Π΄ Π½Π° ΠΉΠ΅ΡΠ°ΡΡ ΠΈΡΡΠ° Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ°, Π½Π°Π»ΠΈΡΠ΅Π½ Π·Π° Π²ΡΠΈΡΠΊΠΈ Π΅Π·ΠΈΡΠΈ, Π·Π° ΠΊΠΎΠΈΡΠΎ ΠΈΠΌΠ° LSP (Language Server Protocol) ΡΡΡΠ²ΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ ΡΠ°Π·ΠΈ ΡΡΠ½ΠΊΡΠΈΡ.
- QML ΠΊΠΎΠ΄ΠΎΠ²ΠΈΡΡ ΠΌΠΎΠ΄Π΅Π» Π΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½, Π·Π° Π΄Π° ΠΎΡΡΠ°Π·ΠΈ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π² Qt 6.5. Π Π΅Π΄Π°ΠΊΡΠΎΡΡΡ Π½Π° ΠΊΠΎΠ΄ Π²Π΅ΡΠ΅ ΠΈΠΌΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π΄Π° Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·ΠΈΡΠ° ΡΠ²Π΅ΡΠΎΠ²ΠΈΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ°.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΡΠ½ΡΠ½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Ρ QML, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ Π½Π° qmlformat Π²ΠΌΠ΅ΡΡΠΎ Π²Π³ΡΠ°Π΄Π΅Π½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ Π½Π° QML Language Server (Qt Quick > QML/JS Editing > Use qmlls now) ΠΏΡΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Π½Π΅Π·Π°Π΄ΡΠ»ΠΆΠΈΡΠ΅Π»Π½ΠΈΡ Qt Language Server ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ ΠΎΡ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΎΡΠ° Π½Π° Qt.
- ΠΠΎ Π²Π΅ΡΡΠΈΡ 5 Π±Π΅ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ (cmake-presets) Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ CMake, ΠΊΠΎΡΡΠΎ ΡΠ΅Π³Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²Π°ΡΠ° ${pathListSep}, ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° "include" ΠΈ Π²ΡΠ½ΡΠ½Π° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° ΠΈ Π½Π°Π±ΠΎΡΠ° ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ.
- ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ° ΠΊΡΠΌ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° (CMake > Formatter), Π·Π° Π΄Π° ΡΠΊΠ°ΠΆΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° Π·Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ CMake, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΏΠΎΠΌΠΎΡΠ½Π°ΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ° cmake-format.
- ΠΠ½Π΅Π΄ΡΠ΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΎΠ½Π½Π° ΡΡΡΠΏΠΊΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° βcmake --installβ, ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈ ΡΡΠ΅Π· ΠΎΠΏΡΠΈΡΡΠ° βΠΡΠΎΠ΅ΠΊΡΠΈ > ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ > ΠΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΡΡΡΠΏΠΊΠ° Π·Π° Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅β.
- ΠΡΠΈ ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π² Docker Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° Π½Π° ΠΊΠΎΠ΄ΠΎΠ²ΠΈΡ ΠΌΠΎΠ΄Π΅Π» Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠΎΠ½ΠΎΠ²ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ Clangd. ΠΡΠΌ ΠΏΡΠΈΡΡΠ°Π²ΠΊΠ°ΡΠ° ClangFormat Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ Π²ΡΠ½ΡΠ½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, Ρ ΠΎΡΡΠ²Π°Π½ΠΈ Π² Docker ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅Ρ.
- ΠΡΠΈΠ³ΡΡΠ΅Π½Π° Π΅ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° Π½Π°Π²ΠΈΠ³Π°ΡΠΈΡ ΠΏΡΠ΅Π· ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½ΠΈ ΡΠ΅Π»Π΅Π²ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π·Π° ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΡ. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° ΠΎΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π» Π½Π° ΠΎΡΠ΄Π°Π»Π΅ΡΠ΅Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ΡΠΎ Open Terminal, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠΈΡΡΡΡΠ²Π°ΡΠΎ Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ° Π·Π° ΠΈΠ·Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru