Представлен (http://blog.qt.io/blog/2017/09/05/qt-creator-4-4-0-released/) выпуск интегрированной среды разработки Qt Creator 4.4.0 (http://www.qt.io/download-open-source/), предназначенной для создания кроссплатформенных приложений с использованием библиотеки Qt. Поддерживается разработка как классических программ на языке C++, так и использование языка QML, в котором для определения сценариев используется JavaScript, а структура и параметры элементов интерфейса задаются CSS-подобными блоками.Основные изменения (https://code.qt.io/cgit/qt-creator/qt-creator.git/tree/dist/...:
- В редакторе при использовании закладок или построителя модели кода на базе Clang реализована новая система inline-аннотаций, отображающая закладки или сообщения об ошибках от Clang непосредственно рядом с текстом, в хвосте соответствующих строк. Подобный подход позволяет во время набора кода иметь перед глазами детальную информацию об имеющихся проблемах, без необходимости подведения мыши к интересующей строке или метке в левой части экрана. Местоположение аннотаций можно настроить через меню "Options / Text Editor / Display".
- В редактор также добавлен эффект плавной прокрутки при переходе на новую позицию в том же файле. Отключить данный эффект можно в меню "Options / Text Editor / Display / Animate";
- Для кода на С++ вовлечены некоторые элементы подсветки, которые были доступны и ранее, но не выделялись отдельными цветами в предлагаемой по умолчанию цветовой схеме. Например, в новой версии теперь подсвечиваются локальные, глобальные и принадлежащие классам переменные, функции, определения и выходные аргументы. Для тех кого обилие разных цветов на экране раздражает в меню "Options / Text Editor / Fonts & Colors" можно вернуться на прошлую цветовую схему;
- При переименовании классов среда разработки теперь предлагает переименовать и файлы, имеющие имя переименовываемого класса (опция "Rename files" в диалоге переименования);
- При включенной модели кода на базе Clang доступна функция подсветки идентификатора, связанного с кодом на который в текущий момент указывает курсор;
- Облагорожена компоновка древовидного вывода содержимого проекта при использовании для сборки CMake 3.7+ в серверном режиме. Пустые директории теперь скрываются из списка, а файлы с кодом перемещены в верхнюю часть в отдельную секцию Source Directory;- Прекращена поддержка платформы Windows CE и отключены по умолчанию компоненты для интеграции с системой управления версиями ClearCase (https://ru.wikipedia.org/wiki/Rational_ClearCase).
URL: http://blog.qt.io/blog/2017/09/05/qt-creator-4-4-0-released/
Новость: http://www.opennet.me/opennews/art.shtml?num=47146
> При переименовании классов среда разработки
> теперь предлагает переименовать и файлыДавно уже (я про другую IDE сейчас) отказался от переименования файлов средой разработки, т.к. тогда для Git это выглядит, как удаление одного файла и добавление другого под новым именем. Делаю переименование с помощью git mv по-этому.
Теперь вопрос по QtCreator: он умеет переименовывать файлы при переименовании классов так, что бы это было понятно для git'a?
> Делаю переименование с помощью git mv по-этомуНичто не мешает делать то же самое из IDE. Intellij это умеет, кстати
Хм.. а для гита это отличается от переименования средствами ОС/IDE с последующим git add --all? В последнем случае git status отображает переименованные файлы как renamed.P.S:
-A, --all, --no-ignore-removal
Update the index not only where the working tree has a file matching <pathspec> but also where the index already has an entry. This adds, modifies, and removes index entries to match the working tree.
С очень большим количеством файлов гит в таких случаях посылает лесом, но для большинства проектов это работает, да.
Имхо, гит корректно определяет, что файл был переимнован вне зависимости от кол-ва файлов. Проблема скорее всего в другом. Содержимое файлов тоже меняется (ну там классы переименовываются, ссылки на другие packages) и в какой-то момент, когда в одном файле много изменений, это зашкваривает некий threshold и гит думает, что файлы были удалены и какие-то новые созданы.
Логично если у тебя файл называется по другому и содержимое другое, то это другой файл, как он был создан переименованием или переносом кода не важно
> Давно уже (я про другую IDE сейчас) отказался от переименования файлов средой разработки, т.к. тогда для Git это выглядит, как удаление одного файла и добавление другого под новым именем. Делаю переименование с помощью git mv по-этому.git mv делает то же самое, только после переименования добавляет старый и новый файл в stage. В git не хранится информация о переименовании, она вычисляется клиентом на основании изменений в коммите.
А шаблоны, которые в 4.3 поломали исправили?
Глянул сам.
"Устаревшие" XML все еще сломаны. При использовании такой штуки:
<field name="GENMAP">
<fieldcontrol class="QCheckBox" truevalue="" falsevalue="# "/>
<fielddescription>Generate .map file</fielddescription>
</field>
%GENMAP% заменяется на fielddescription, вместо truevalue или falsevalueJSON все еще сломаны. При использовании где-то в коде экранированных символов (например в строке), при создании проекта из шаблона эти экранированные символы превращаются в не экранированные (примерЖ была строка "\n", стала "
").
Баг легко json фиксится в шаблоне в отличии от xml, но все равно сильно раздражает при обновлении шаблона.Итог: дальше 4.2 QtCreator еще не готов.
Не "интегрированная", а "объединенная" среда программирования!
Это ещё почему? Решил выдумать новый термин, который ничего нового не объясняет зато никому не привычен?
> терминскорее мицголизм
А Вам не режет слух "интегрированная среда разработки"? Что значит интегрированная в данном контексте? Встроенная? Вставленная? По-русски правильно будет объединенная,так как среда объедиеяет в себе редактор, компилятор, отладчик и прочий функционал.
"Интергрированная" значит, что в неё интегрированы текстовый редактор, интерфейс к компилятору, дебаггеру и т.п.
> "Интергрированная" значит, что в неё интегрированы текстовый редактор, интерфейс к компилятору,
> дебаггеру и т.п.Вы так и не ответили на вопрос :-)
Я ответил на основной вопрос:
>Что значит интегрированная в данном контексте?Ответ на первый вопрос:
>А Вам не режет слух "интегрированная среда разработки"?отдаёт вкусовщиной и ответ на него не важен. Но отвечу. Нет, не режет. Более того, учитывая как расшифровывается IDE, вариант "интегрированнный" куда проще запомнить.
> Я ответил на основной вопрос:
>>Что значит интегрированная в данном контексте?
> Ответ на первый вопрос:
>>А Вам не режет слух "интегрированная среда разработки"?
> отдаёт вкусовщиной и ответ на него не важен. Но отвечу. Нет, не
> режет. Более того, учитывая как расшифровывается IDE, вариант "интегрированнный" куда
> проще запомнить.Ну чтож, тогда пусть будет не "Интегрированная Среда Программирования", а "Интегрированный Девелоперский Енвиронмент" :-)
>ЕнвиронментНу вот теперь стало ясно почему вам так режет слух эта терминология -- вы совершенно не знаете английского. А программисты в массе своей в некотором объёме его знают. И текущий термин им как родной.
Английский язык я все же понимаю на среднем уровне. Больше всего мне не нравится бездумное копирование терминов с иностранного языка.
>бездумноеНе бездумное, а унификации (этот термин тоже не нравится?) ради.
> Английский язык я все же понимаю на среднем уровнеОбычно за подобным заявлением кроется "средне-школьный" уровень.
То есть думать на этом языке вы не умеете, каждое слово вынуждены для себя переводить, вот терминология вам извилины и натирает.
Я в России живу. Мне думать на иностранном языке надобности нет.
Для профессионального занятия программированием (кроме 1С) такой навык требуется.
Раз вам он не нужен - вас не должно волновать написание терминов в этой новости.
>Мне думать на иностранном языке надобности нет.А! Ну тогда протри КДПЗУ, а то от последнего прогона АЦПУ пыли много ...
Представляется кадр в косоворотке, валенках и с балалайкой.
За дверьми с красивой надписью "№6" ... :)
Вы ещё 1С не видели!
> "Интергрированная" значит, что в неё интегрированы текстовый редактор, интерфейс к компилятору, дебаггеру и т.п.В русском языке "Интегрированная среда разработки" означает, что среда разработки куда-то интегрирована, а не то, что Вы написали. Правильно "текстовый редактор, интерфейс к компилятору, дебаггеру и т.п." интегрированы в среду разработки, но от этого сама среда разработки не становится интегрированной.
Вообще эта "интегрируемость" в названии не имеет ровно никакого смысла, за исключением красивых слов для маркетинга, - всё это почти всегда было в средах разработки.
ИНТЕГРИРОВАТЬ [стэ], -рую, -руешь; -анный; сов. и несов., что. 1. Объединить (-нять) в одно целое (спец.).
// Словарь Ожегова
И?
То, что Вы пытаетесь сказать, называется не "интегрированная", а "интегрирующая".
Интегрирующая без уточнения - процесс, а не свойство.
И "интегрированная", а "интегрирующая" отвечают на вопрос "какая" - то, что относится к свойствам.
Процесс: имя процесса - существительное, само действие - глагол.
Не смешивайте понятия.
> В русском языке "Интегрированная среда разработки" означает...... ровно то же, что и в английском. Либо свойство - собранность в единое целое, либо встроенность во что-либо большее.
В том-то и дело, что в русском языке это разные вещи; см. коммент выше: свойство объединять и содержать в себе - это "интегрирующая".
Нет. Интегрирующая - это объединяющая прямо сейчас, в процессе.
А слова "сынтегрированная", которое действительно выразило бы только и исключительно вашу семантику - "объединившая в себе", в русский язык, увы, не завезли.
Вот и я о том же.
Слова "сынтегрированная" не завезли потому, что при заимствовании слов из других языков их производные в язык не добавляются в случае, если уже имеются слова с аналогичным смыслом. В данном случае это "скомпонованная", "собранная".Использование слова "интегрированная" не по назначению - как раз тот случай, когда люди знают английский лучше русского и пытаются перетянуть правила оттуда на русский. Выглядит нелепо, потому что совсем разные подходы: в английском есть свои механизмы для определения, кто, кого и куда "интегрировал", а в русском это окончания слов. Почитайте классику 19-го века (к примеру, Достоевского), - по сравнению с нашим это одновременно и очень сложный, и чистый язык, - Вы там нигде не увидите таких, как выше, примеров издевательства над языком.
Ну тогда и "интеграл" в математике стоит переименовать в "объединитель". Чё мелочиться то?
Избавимся от засорения русской речи.
Ку, кю и антидеиэстеблишментаризм. Этих трёх слов хватит всем.
Почти сто лет прошло, а Ильф и Петров всё ещё дико актуальны! :-)
>> По-русски правильно будет объединенная
>> В русском языке "Интегрированная среда разработки" означает,
>> Я в России живу. Мне думать на иностранном языке надобности нет.Забавнейший кадр. Не пропадайте, уж очень смешно. Ведь мы десятилетия до этого не знали как называть то, чем каждый день пользуемся...
>>> По-русски правильно будет объединенная
>>> В русском языке "Интегрированная среда разработки" означает,
>>> Я в России живу. Мне думать на иностранном языке надобности нет.
> Забавнейший кадр. Не пропадайте, уж очень смешно. Ведь мы десятилетия до этого
> не знали как называть то, чем каждый день пользуемся...Если Вы десятилетиями не в ладах с русским языком и не понимаете смысла слов, то это ваши проблемы.
В 21 веке гвозди забивают шуруповёртом?
Не знаю как гвозди, а шурупы как закручивали молотком, так и закручивают.
На этот счёт есть народная мудрость: лучше шуруп забивать молотком, чем вкручивать гвоздь шуруповёртом.
да, серпа не хватает к молотку - как бы смотрелось ! )
Дык эта ... импортозамести! :-)
> реализована новая система inline-аннотаций, отображающая закладки или сообщения об ошибках от Clang непосредственно рядом с текстом в хвосте соответствующих строкНеудобно. Я за минуту глазами вправо-влево задолбался бегать.
Бегать построчно по этим же ошибкам, пролистывая отдельно список ошибок удобнее? Быстрее?
Мешают ошибки - исправляй, не придётся долбаться
Конечно удобнее - ткнул то, что интересует и сразу перешёл в место ошибки.
Часто нужно смотреть чужой код не исправляя его и иногда смотря в чём проблема, для этого удобнее всплывающее описание при наведении курсора.
Смех смехом, но оно под линксом единственно чем смогли пользоваться наши уеб-программеры 8-о
Падать при создании commit'а в Git-репозиторий перестала?