Ace найфункціональніший редактор коду
- Швидкий старт з Ace. Де я можу використовувати Ace? Чому?
- Портирування Ace на Qt і обгортка його API: How-To для творців Qt5-based бібліотек
Зараз дозволю собі показати пару скріншотів example-додатки, яке використовує мою бібліотеку Novile:
Що таке Ace?
API і документації
Крок 1. Елементарна настройка
Крок 2. Більше фарб!
Крок 3. Управляємо текстом на API-level
Отримуємо і задаємо вміст:
Трохи роботи з виділенням:
А тепер трохи пограємось з курсором:
Що щодо розширеного управління кодінгом?
До речі, якщо раптом вам захочеться поміняти розмір div # editor, не змінюючи розмірів самого вікна, то потрібно виконати
Крок 4. Пошук і події (events)
На жаль, про пошук я скажу тільки пару слів, так як чомусь немає бажання зараз сдесь описувати його роботу. Вкраце, підтримує регулярні вирази, чутливість до регістру, і багато інших параметрів. API зводиться до
Слухаємо різні події:
А тепер дуже класне, «гарячі» клавіші і поєднання:
Novile Component for Qt
Кому воно треба?
Коли я починав роботу над Novile, я в першу чергу думав про те, яке вона зможе знайти застосування. За відгуками знайомих програмістів, я вирішив, що використовувати Novile можна в різних десктопних (і не тільки) додатках, де потрібно редагувати код або як мінімум, конфігураційні файли. Таких додатків є досить багато, а з Novile їх повинно стати більше.
складальна система
Не дивлячись на те, що Qt дуже активно пропагує QMake, а вже скоро почнеться QBS-манія, я вважаю що для бібліотек найкращий варіант, одназначно CMake. Він дає той рівень кастомізації збірки, який дійсно потрібен.
Зараз для побудови та встановлення Novile з документацією, debug output і прикладом потрібно виконати (Linux):
Qt 5 в CMake 2.8.8+
Якщо ви створюєте свою бібліотеку, то цього вам не уникнути. Ще вам може знадобиться збирати .ui файли призначеного для користувача інтерфейсу. Для цього є спеціальний макрос:
Import / Export світчери
При роботі з бібліотекою, деякі символи повинні піти в експорт, а потім, на етапі використання ліби, бути імпортовані з неї, тому зручно використовувати таку конструкцію:
Отже, тепер, під час збирання, потрібно оголосити -DNOVILE_MAKEDLL (пам'ятаєте, вище ми його встановили в cmake). При використанні бібліотеки, макросу не буде, і буде викликаний експорт.
Як користуватися Novile?
Приклад використання Novile класно описаний в проекті з папки example, який добре збирається з ключем конфігурації -DBUILD_EXAMPLE = Yes, який зробить все за вас.
Але тут я готовий привести маленький приклад того, як же зручно це все робиться з плюсів (С ++ 11 + Qt 5)
C ++ 11, потужний Qt і дописана Novile дозволяють побудувати швидку і крос-платформену IDE з усім необхідним функціоналом.