IntelliJ IDEA + Pascal

Обсуждаются как существующие проекты (перевод документации, информационная система и т.п.), так и создание новых.

Модератор: Модераторы

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 22.12.2015 19:54:17

скалогрыз писал(а):а я редко смотрю в "uses" секцию, зато регулярно смотрю в "messages" т.е. напоминалка о неиспользуемом модуле мне сподручнее именно в "messages"-ах.


Все warning'и видны справа на соотв. полоске.

скалогрыз писал(а):Захотел я новый модуль подключить - написал его в "uses", а IDE мне его сразу подсветила с упрёком - "хрен ли ты написал этот модуль, если ты его не используешь"


Люди редко хотят просто подключить модуль. Чаще хотят задействовать какую-либо функциональность из него. А модуль подключается сам, на этапе автодополнения, или квикфиксом.

Не отнимайте у IDE её хлеб!

zub писал(а):Об остальных сообщает, но далеко не о всех. Насколько я понял только в самых простых ситуациях - юнит без финализации\инициализации и неучавствует не в каких циклических зависимостях. И походу сообщает только про юниты в интерфейсной секции, сообщений про юнит в секции implemenation я вообще не встречал.


Ну, тогда такое сообщение бесполезно. Надо о всех сообщать, кроме явным образом исключенных из проверки. Чтобы программист мог принять осознанное решение.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение hinst » 22.12.2015 21:51:03

а для Delphi тоже работает? если редактировать Delphi-проект, то будет работать анализ, дополнение кода из стандартной библиотеки (System, Classes, SysUtils и прочие)?
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: IntelliJ IDEA + Pascal

Сообщение debi12345 » 22.12.2015 22:14:21

Хм, IDEA (в варианте PhpStorm) дошла до извращений - парсинг SQL-запросов, вписанных в строки - для подсказки названий БД-полей, функций и т.п. в ходе набора, а также drag-n-drop названий полей из структуры таблицы, открытой в соседнем окошке. По ходу привык - очень удобно.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: IntelliJ IDEA + Pascal

Сообщение alexs » 22.12.2015 23:50:07

debi12345 писал(а):дошла до извращений - парсинг SQL-запросов, вписанных в строки - для подсказки названий БД-полей

При активной работе с БД это самое то.
Я именно поэтому свой FBManager делаю - именно ради удобной навигации и подсказок по структурам данных.
Аватара пользователя
alexs
долгожитель
 
Сообщения: 4060
Зарегистрирован: 15.05.2005 23:17:07
Откуда: г.Ставрополь

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 23.12.2015 01:30:13

hinst писал(а):а для Delphi тоже работает? если редактировать Delphi-проект, то будет работать анализ, дополнение кода из стандартной библиотеки (System, Classes, SysUtils и прочие)?


Да. Лучше всего подсунуть системные библиотеки в виде .dcu и настроить декомпилятор. Так я тестировал.
Можно и с исходниками попробовать.

debi12345 писал(а):Хм, IDEA (в варианте PhpStorm) дошла до извращений - парсинг SQL-запросов, вписанных в строки - для подсказки названий БД-полей, функций и т.п. в ходе набора, а также drag-n-drop названий полей из структуры таблицы, открытой в соседнем окошке. По ходу привык - очень удобно.


Это не извращение, а очень крутая фича. Поддержка языка в языке. Я тоже сделаю поддержку SQL в строках определенного вида, хотя тут обратная связь нужна. Сам я давно с БД через Delphi не работал.
Но работать это только в платных версиях Идеи будет, т.к. в бесплатной нет поддержки SQL.
Впрочем, она того стоит. Сделать поддержку стольких диалектов, практически полную, это много человеколет.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение hinst » 23.12.2015 02:11:40

серьёзно? я кодил работу с БД на FPC руками и ничё, писал SQL запросы руками и жив остался. "select * from ", ctrl+V :D :D :D
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 23.12.2015 02:58:31

А кто-то говорит, что руками писать смертельно? Так, время лишнее потратишь. Хотя что-то общее есть...
Плюс от толковых дополнений еще и в том, что можно написать запрос даже не помня точно синтаксис конкретной БД и названий таблиц и полей. Для меня актуально.
А вообще писать-то люди и посредством перфокарт умудрялись. :D
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение debi12345 » 23.12.2015 20:47:00

Mirage писал(а):Плюс от толковых дополнений еще и в том, что можно написать запрос даже не помня точно синтаксис конкретной БД и названий таблиц и полей. Для меня актуально.

Во-во - у меня в текущем проекте есть запросы, возвращающие 35..55 столбцов - охреневаешь все по памяти вбивать.
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: IntelliJ IDEA + Pascal

Сообщение скалогрыз » 23.12.2015 21:05:21

А может быть это плохо, что всё ещё приходится вписывать SQL запросы в код?
Вместо каких-либо обёрток, которые обеспечат безопасность?

Ведь этим плохи слишком умные и удобные IDE они позволяют производить негодный код в гигантских масштабах.
А вод поддержка такого количества кода, может быть нелёгким занятием.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: IntelliJ IDEA + Pascal

Сообщение debi12345 » 23.12.2015 22:22:11

А может быть это плохо, что всё ещё приходится вписывать SQL запросы в код?

Смотря какой код. Есть код, специально заточенный под вписывание, в духе :
Код: Выделить всё
$res = pg_execute($conn,sprintf(''select i1,t2,%s from mumu where code=%s and date1=%s, sqlInt(1), sqlInt(123), sqlDT('01.014.2000')));
Аватара пользователя
debi12345
долгожитель
 
Сообщения: 5759
Зарегистрирован: 10.05.2006 23:41:15
Откуда: Ташкент (Узбекистан)

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 24.12.2015 00:05:16

скалогрыз писал(а):А может быть это плохо, что всё ещё приходится вписывать SQL запросы в код? Вместо каких-либо обёрток, которые обеспечат безопасность?

Безопасность больше зависит от API для БД, предоставляемого языком/платформой. Как правило, он подобен тому, что привел debi12345.
Т.е. SQL вместо значений содержит плейсхолдеры, а значения заполняются отдельно. Это избавляет от опасности SQL injection'ов и заодно позволяет БД оптимизировать выполнение запроса, если драйвер это умеет. Надеюсь, в Delphi/Lazarus так же.

Отдельно от кода, как правило в XML документе запросы тоже, бывает, хранятся. И тут поддержка со стороны IDE, как XML, так и SQL отнюдь не лишняя.

скалогрыз писал(а):Ведь этим плохи слишком умные и удобные IDE они позволяют производить негодный код в гигантских масштабах.


Они позволяют производить любой код гораздо быстрее. Причем способствуют производству именно хорошего. Например, подчеркивая сомнительные места варнингами или генерируя правильные конструкции.
Хотя в конечном итоге, каков будет код, зависит от программиста.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 22.01.2016 20:26:04

Вышла стабильная версия - 1.0.

Исправлены ошибки с "потерей" существующих ppu-модулей, а также идентификаторов - тут, возможно, еще остались проблемы.
Улучшена работа с условной компиляцией и поддержка инклудов.
Увеличена производительность.
Добавлено большое количество автоисправлений для ошибки типа "не найден идентификатор":
помимо переменной, типа и константы теперь можно добавить поле класса, метод, формальный параметр и даже свойство.

На текущий момент, с официального репозитория плагинов I-Pascal скачан 24877 раз.
Подробнее о статусе проекта и перспективах тут.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 24.09.2016 01:06:55

Давненько здесь не обновлял, исправляюсь.
В последней версии добавил поддержку дефайнов. В смысле теперь можно искать их объявление, использования с помощью find usages, работают подсказки, подсказывающие какие дефайны доступны в данном месте.
То же для подключаемых через {$Include ..} файлов.
Также добавил подсказки как самих директив компилятора, так и их параметров.

Из интересных возможностей в прошлых версиях добавлена поддержка инъекции других языков в паскалевскую строку, что позволяет иметь там поддержку в т.ч. SQL (требуется IDEA Ultimate!) с подсказками, в т.ч. по таблицам и т.д.

Еще улучшены подсказки. В частности, добавлена поддержка т.н. complete statement - оч удобная вещь.

Ну и теперь можно быстро запустить приложение, нажав на треугольник слева от ключевого слова program.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение frozenkila » 01.11.2016 01:07:44

ребзя, хелп плиз
при попытке работы выдает следующее:
Error:Pascal 'untitled1' production: java.lang.IllegalArgumentException: Argument for @NotNull parameter 'file' of com/intellij/openapi/util/io/FileUtil.getNameWithoutExtension must not be null
Warning:No main file specified for module untitled1 in module settings. Trying to set automatically.
Warning:Can't find any suitable main file

чо делать? :?: выручайтеее :shock:
frozenkila
незнакомец
 
Сообщения: 1
Зарегистрирован: 01.11.2016 01:05:14

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 02.11.2016 00:51:30

Под попыткой работы, видимо, имеется в виду компиляция.
Судя по всему, нет ни одного .dpr, .lpr, .pp или .pas файла.
Что делать? Добавить, т.е. создать.
Еще проблема может быть в том, что директория с исходниками не помечена как таковая.
Можно это сделать, найдя справа в дереве проекта нужную директорию и нажав на ней правой кнопкой мыши выбрать Mark Directory as... => Sources root.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Пред.След.

Вернуться в Разное

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 27

Рейтинг@Mail.ru