IntelliJ IDEA + Pascal

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

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

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 14.04.2015 23:58:23

Странно...
Конкретные .ppu должны быть вилны в списке во вьюхе Project ниже проекта и модулей в External Libraries. Если открыть один из них, виден интерфейс модуля?
RTL должна быть именно от той версии FPC, от которой компилятор в SDK. Ppudump не понимает файлов не своей версии.
Также версия FPC должна быть 2.7.x или выше.

Можно работать в 13.x, 14.0, 14.1.

Плагин да, в официальном репозитории. http://plugins.jetbrains.com/plugin/7340
Ставить просто через Settings/Plugins

Да, и еще важно, чтобы в зависимостях модуля (Project Structure => Modules => <модуль> => Dependencies) был прописан Module SDK. При переустановке SDK он слетает. Тогда либы не видно.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение hinst » 15.04.2015 13:13:07

Удалил SDK с FPC 2.6.4, добавил SDK с FPC 2.7, указал SDK в Module, в External Libraries оно показывается, нажал Invalidate Cache & Restart; но модули не находятся, sysutils подчёркивается красным, iniFiles подчёркивается красным, integer подчёркивается красным.

Добавлено спустя 1 минуту 13 секунд:
Только лишь модуль windows не подчёркивается красным, но там где используется функция CreateMutex из этого модуля, она подчёркивается красным

Добавлено спустя 5 часов 11 минут 13 секунд:
:( :( :( :( :(
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 15.04.2015 23:51:11

Так до этого был 2.6.4?
Если один из ppu, что показываются в External Libraries открыть двойным кликом, открывается?
А в code completion в uses модули RTL показываются?

Попробуй создать новый проект, в отдельной папке. Тип - Pascal. Тип модуля тоже обязательно должен быть Pascal.
Вообще надо будет как-нибудь научиться выпиливать яву и собрать свое IDE чисто для паскалевское. Как PyCharm для питона.

А я пока посмотрю на виндовой версии - может в винде все дело.:)
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение hinst » 16.04.2015 13:45:48

Есть подозрение что дело в моём проекте в котором 600 модулей. Я даже не особенно сомневаюсь что для пустого проекта сработает. Уже срабатывало. Тольк мне надо для моего проекта а не для пустого проекта

Добавлено спустя 11 минут 11 секунд:
PPU-файлы в IDEA открываются, показывает пустой документ
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 17.04.2015 00:39:28

От количества модулей сие зависеть не может.

Поставил на винде - симптомы те же. Буду разбираться.

Добавлено спустя 2 часа 45 минут 12 секунд:
Разобрался. Проблема была с разделителями в путях. Как раньше у тебя работало непонятно.
Обновил плагин.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение hinst » 17.04.2015 17:42:27

Вроде бы стало лучше, но модуль Windows не декомпилируется. Ну а LCL можно как-нибудь подключить?

Добавлено спустя 10 минут 52 секунды:
а, нет, распознаётся, нужно было SDK пересоздать

Добавлено спустя 49 секунд:
Но с проектными модулями всё не очень хорошо; некоторые проектные идентификаторы не распознаются
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 18.04.2015 03:33:49

Что за проектные идентификаторы?
LCL как ppu подключил или исходниками? И как оно распознается?

Кстати, добавил поддержку множественного наследования (ранее учитывалась область видимости только последнего предка класса), а также поддержку WITH.
Возможно, что-то из этого поможет твоим проектным идентификаторам.:)
Файл обновлен.
Если не поможет, покажи пример, может там какое сложное выражение.

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

Re: IntelliJ IDEA + Pascal

Сообщение hinst » 20.04.2015 19:13:35

Проектные идентификаторы это те которые объявлены в одном из модулей проекта.

У нас собственно какие есть наборы модулей:
1. Стандартная библиотека FPC которая лежит в папке FPC.
2. Принадлежащие проекту, которые лежат в папке с проектом.
3. Третья сторона - какие-то модули, которые не принадлежат проекту, но нужны. Типа LCL

Как я подключил LCL: пока никак; потому и спросил, как его подключить.

Плагин в репозитории плагинов IDEA что-то не обновился, показывает ту же версию, что и в прошлый раз: 0.85

Добавлено спустя 12 минут 18 секунд:
проектные идентификаторы это которые в №2

Через некоторое время посмотрю ещё раз свой проект и попытаюсь поточнее определить и описать что конкретно не работает или не определяется и напишу сюда. Посмотришь, ок?
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 21.04.2015 00:20:07

Насчет LCL - правильно было бы подключить как библиотеку исходников (есть такое в Идее). Либо отдельно, либо в SDK.
Но я попробовал, что-то не хочет там ничего искать, пустая, говорит. Видимо надо как-то объяснить, что это паскалевская библиотека, а не явовская. Посмотрю потом.
Можно создать новый модуль с content root, указывающим на папку с сорцами LCL. Только надо именно пометить эту папку как sources, а то по умолчанию там только src помечена.
Еще можно скомпилировать и полученные .ppu подключить либо по аналогии с SDK там же, либо отдельно библиотекой. Толку от исходников все равно мало, т.к. интерфейсы не комментированы.

В репозитории плагин обновляется где-то раз в неделю. По ссылке свежее.

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

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 22.04.2015 01:08:10

Еще баг нашел - только .pas файлы воспринимались как юниты. .pp не воспринимались.
Исправил, перезалил.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение hinst » 27.04.2015 14:35:56

В официальном онлайн-репозиторий последняя версия 0.85
У меня сейчас 0.87
После одного из обновлений стало лучше с идентификаторами которые в with

В LCL как-то не очень распознаётся. В одном месте:
Код: Выделить всё
type TScrollingWinControl = class(controls.TCustomControl)
- из forms.ppu
так вот, controls.TCustomControl не распознаётся, видимо, из-за обращения через имя модуля controls. ... .
А вот здесь распознаётся:
Код: Выделить всё
type TCustomForm = class(TScrollingWinControl)
- без модуля

Добавлено спустя 8 минут 4 секунды:
Вот ещё косяк заметил: в одном модуле windows подчёркнуто красном, в другом не подчёркнуто. Думал, в чём дело. В одном модуле написано windows, а в другом Windows. Написал во втором модуле тоже с маленькой буквы windows. Перестало подчёркивать

Добавлено спустя 1 минуту 47 секунд:
PPU можно и через SDK, и через Module добавлять?

Добавлено спустя 12 минут 59 секунд:
некоторые модули в проекте вообще оказывается только в dcu, без исходников. Они не распознаются ясен пень

Добавлено спустя 4 минуты 6 секунд:
Если пытаться добавить LCL как Module, то если не помечать как Source, то модули не распознаются. Если пометить, то ppu вообще пропадают из списка файлов, остаются только .o

Добавлено спустя 5 минут 30 секунд:
а если через SDK, то там сразу две папки попадают, win32 и nogui, и вторую нельзя исключить, не уверен что это хорошо
Аватара пользователя
hinst
энтузиаст
 
Сообщения: 781
Зарегистрирован: 12.04.2008 18:32:38

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 28.04.2015 03:27:31

Уу, старье, уже 0.9 актуальна. :D
Совместимость с Delphi RTL и прочими исходниками выросла.
Оказывается деструкторы бывают статическими. :shock:
Еще, т.к. в исходниках RTL всякие дефайны используются, и без них фиг распарсишь, то при создании SDK в его настройки теперь прописываются дефайны соответствующие текущей ОС и архитектуре. В виде доп. параметров компилятора (-dMSWINDOWS например). Парсер оттуда их берет. Если нужны другие дефайны, можно там прописать.

Насчет Windows странно, от регистра не должно зависеть. ОС какая? Винда? Как этот Windows подключен? Как .pas или .ppu?

ppu можно и в SDK и в зависимости модуля добавлять, да.

dcu будет декомпилироваться, как и ppu.

Когда директория помечается как исходник, то там показываются исходники и файлы неизвестного типа. ppu известны как скомпилированные, потому не показываются. Исходники имеют приоритет на скомпилированными файлами.

Последнюю фразу не понял - откуда win32 и nogui, почему нельзя исключить?
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение скалогрыз » 29.04.2015 21:18:01

Добавил ссылку на плагин на страницу IDE в вики
Сам не пользуюсь, ибо верую в Лазаря, но рекомендую написать в вики же краткую страничку о плагине, с картинками и тонкостями по установке.

Ибо страничка на сиберике пуста.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 30.04.2015 01:38:04

Спасибо, как будут картинки и понимание того, что в данном случае есть тонкие моменты (для меня-то тут уже все просто и понятно), обновлю.
Хотя страничка же вроде не пуста?
Насчет веры - я и сам считал Delphi7 лучшей из IDE, пока не стал на Java писать. А там уже на практике выяснилось, что даже Eclipse на голову удобнее...
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение скалогрыз » 30.04.2015 05:07:29

Mirage писал(а):Хотя страничка же вроде не пуста?

именно на эту страницу ведёт ссылка с jetbrains.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
скалогрыз
долгожитель
 
Сообщения: 1803
Зарегистрирован: 03.09.2008 02:36:48

Пред.След.

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

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

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

Рейтинг@Mail.ru