IntelliJ IDEA + Pascal

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

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

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 25.02.2017 22:23:39

Странно, там и так ищется. Надо Мак раздобыть...
Правильнее, конечно, было не копировать, а ссылку на bin/ там сделать через ln -s.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение onpentox » 01.03.2017 04:58:30

При подключении delphi компилятора (xe - v22) простейшая программа компилится но при добавлении модулей в uses плугин подчеркивает их красным как и все их содержание - типа найти не может.
_ipas_error_2.PNG
У вас нет необходимых прав для просмотра вложений в этом сообщении.
onpentox
незнакомец
 
Сообщения: 3
Зарегистрирован: 01.03.2017 04:45:40

Re: IntelliJ IDEA + Pascal

Сообщение onpentox » 05.03.2017 08:31:55

ребят помогите пожалуйста настроить это чудо для delphi компилятора
onpentox
незнакомец
 
Сообщения: 3
Зарегистрирован: 01.03.2017 04:45:40

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 05.03.2017 15:15:17

Чтобы стандартные юниты могли быть найдены плагином, их местонахождение надо указать.
Сделать это можно через меню File->Project Structure. Далее выбираем SDKs, в списке выбираем нужный Delphi SDK.
Далее, добавляем во вкладке Sourcepath директории, содержащие исходники стандартных юнитов.

В свежих версиях Delphi (может уже в XE) исходники стандартных юнитов содержат много инклудов, которые пока плохо поддерживаются.
Поэтому, лучше вместо прописывания директории с исходниками, скачать .dcu декомпилятор, прописать к нему путь в Decompiler command и добавить во вкладке Classpath директории, содержащие скомпилированные стандартные юниты, т.е. .dcu файлы.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение onpentox » 06.03.2017 08:12:12

большое спасибо за ответ - плагин увидел большинство модулей, но вот некоторые модули, например VCL.Forms всеравно подсвечивает красным
куда копать ?
onpentox
незнакомец
 
Сообщения: 3
Зарегистрирован: 01.03.2017 04:45:40

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 06.03.2017 12:12:39

Эти тоже должен был увидеть. Какой способ использован? Через декомпилятор? Путь, где лежит VCL.Forms (именно этот, не родительский) прописан в SDK в Classpath?
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 01.04.2017 23:03:11

grot писал(а):
==========================================================================================
============ ??? !!! ??? что с отладчиком ??? !!! ??? =============
==========================================================================================


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

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 04.04.2017 17:56:44

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

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 05.02.2018 00:54:38

До чего техника дошла.
Пишу в Идее доку в Markdown формате, набираю "```" чтобы добавить блок кода, а он предлагает язык указать и среди них Pascal.
Выбираю, и действительно, работает и подсветка синтаксиса и автодополнения для Паскаля в Markdown документе.
Хотя поддержка как Markdown, так и Pascal это вообще-то сторонние плагины, которые ничего друг о друге не знают.
Не перестает приятно удивлять Идея!

UPD: Хотя нет, Markdown таки родной плагин, но тем не менее.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение mishel56 » 28.02.2019 15:13:04

Mirage писал(а):До чего техника дошла.
.

Можно уточнить,- плагин паскаля под IntelliJ IDEA I (ntelliJ IDEA + Pascal),- будет жить.
Или на сегодняшний день всё,- плагин прекратил существование?
На сайтах http://i-pascal.blogspot.com/ и http://www.siberika.com/ipascal.htm ссылки на сам плагин,- битые ссылки...

А сам плагин жив, работает, - за большую работу автору огромное спасибо!

У меня, к большому сожалению, не пошел отладчик (нет останова на контрольных точках плагина Pascal + ntelliJ IDEA).
Разработчики ntelliJ IDEA, скромно говорят, что плагин Pascal не является продуктом ntelliJ и отравляют к автору на www.siberika.com.
Есть ли решение по отладчику...
mishel56
новенький
 
Сообщения: 11
Зарегистрирован: 28.02.2019 14:33:11

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 05.03.2019 00:46:57

Упс, поздновато заметил...
mishel56 писал(а):Можно уточнить,- плагин паскаля под IntelliJ IDEA I (ntelliJ IDEA + Pascal),- будет жить.Или на сегодняшний день всё,- плагин прекратил существование?


Разве похоже, что прекратил? Вроде только в феврале была последняя обнова.

mishel56 писал(а):На сайтах http://i-pascal.blogspot.com/ и http://www.siberika.com/ipascal.htm ссылки на сам плагин,- битые ссылки...


Спасибо, поправлю. Хотя лучше ставить из оф. репозитория.

mishel56 писал(а):А сам плагин жив, работает, - за большую работу автору огромное спасибо!


На здоровье. :D

mishel56 писал(а):У меня, к большому сожалению, не пошел отладчик (нет останова на контрольных точках плагина Pascal + ntelliJ IDEA).


Обычно такое бывает, если не включена отладочная информация в настройках компилятора (File->Project Structure->SDKs->Debugging compiler options).

mishel56 писал(а):Разработчики ntelliJ IDEA, скромно говорят, что плагин Pascal не является продуктом ntelliJ и отравляют к автору на www.siberika.com.


Те еще скромняги...
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение mishel56 » 05.03.2019 13:50:22

Mirage писал(а):Обычно такое бывает, если не включена отладочная информация в настройках компилятора (File->Project Structure->SDKs->Debugging compiler options).

Приятно познакомиться с автором проекта.

Конечно первым делом начинаются проверять все опции по Debugging и все Compiler options.
Но при построении проекта с плагином Pascal, - они(опции) шли по-умолчанию...
И не было смысла их менять. ("Я пока не фокусник, я только учусь.")
Давайте проверим эти настройки для отладчика и дебайгера для freepascal:
-первая командная строка имеет вид
Additinal compiler options:
-Mdelphi -dMSWINDOWS -dCPUX86
-вторая командная строка имеет вид
Debugging compiler options:
-Ddebug -glh -CroiO -godwarfsets

На форуме Lasarus (ветка IntelliJ IDEA + Pascal ) для отладки программы была рекомендация установить опции -gw (-gw option).
GDB is required and debug information need to be included in executable (-gw option).

Как я понимаю эта опция нужна для компиляции программы, т.к. для Debugging compiler options она установлена по умолчанию?
Можно дать больше инфы по отладке программы. Например, привести видео с отладкой программы на паскале.
Для отладки программ на JAVA в ntelliJ IDEA приведено достаточно видео,- но для паскаля (freepascal) нет не одного видео.
mishel56
новенький
 
Сообщения: 11
Зарегистрирован: 28.02.2019 14:33:11

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 06.03.2019 00:18:12

Видео давно хочу запилить, но времени все никак не найду. Может, кто другой запилит.
Хотя с виду отладка для паскаля не особо отличается от отладки на java.
Последовательность обычная: ставим брекпойнт, нажимаем кнопку "Debug" (не Run!).
Окно Messages содержит командную строку компилятора. Там можно увидеть были ли компилятору переданы нужные параметры.
Вывод отладчика, который выводится в окно Debug, может помочь узнать в чем дело. Можно его сюда скопировать, посмотрим.
Я так понимаю, дело происходит на винде. Там GDB по умолчанию не стоит. И так просто он не ставится.
Я когда-то ставил в составе mingw и все работало, хотя до этого на винде не тестировал.
Еще можно попробовать LLDB вместо GDB.
Mirage
энтузиаст
 
Сообщения: 881
Зарегистрирован: 06.05.2005 20:29:07
Откуда: Russia

Re: IntelliJ IDEA + Pascal

Сообщение mishel56 » 06.03.2019 20:51:10

Mirage писал(а):Видео давно хочу запилить, но времени все никак не найду. Может, кто другой запилит.Хотя с виду отладка для паскаля не особо отличается от отладки на java.

Попробовал на скорую руку создать видео. (Наверное, чтобы показать, что делается вроде всё правильно, - а останова на контрольных точках нет..)
https://www.youtube.com/watch?v=vPJ_0Nzzaxs&t=319s

Mirage писал(а):Последовательность обычная: ставим брекпойнт, нажимаем кнопку "Debug" (не Run!).

Что меня смущает у отладчика Java на контрольных точках (красные точки слева) появляется символ галка (если останов на данной строке возможно выполнить) или крестик ((если останов на данной строке выполнить невозможно)).
На моем примере(см.видео),-нет никаких значков на красных точках останова?!
(посмотреть видео отладка программы в java, где говорится об этом можно, например, здесь:
https://www.youtube.com/watch?v=9joO-89 ... ex=12&t=2s)
Mirage писал(а):Окно Messages содержит командную строку компилятора.

В моем примере в окне Messages ключи отладчику переданы :\FPC\3.0.4\units\i386-win32\rtl [u]-Ddebug -glh -CroiO -godwarfsets [/u]
полный текст см. ниже:
Information:Pascal builder: Compiler family:FPC
Information:Pascal builder: Compiler command: D:\FPC\3.0.4\bin\i386-win32\fpc.exe -viewnb -FED:\Free Pascal(TP7)\3.0.4\primer\idea\26\out\production\26 -FuD:\Free Pascal(TP7)\3.0.4\primer\idea\26 -FiD:\Free Pascal(TP7)\3.0.4\primer\idea\26 -FuD:\FPC\3.0.4\units\i386-win32\regexpr -FiD:\FPC\3.0.4\units\i386-win32\regexpr -FuD:\FPC\3.0.4\units\i386-win32\rtl-objpas -FiD:\FPC\3.0.4\units\i386-win32\rtl-objpas -FuD:\FPC\3.0.4\units\i386-win32\rtl -FiD:\FPC\3.0.4\units\i386-win32\rtl -Ddebug -glh -CroiO -godwarfsets D:\Free Pascal(TP7)\3.0.4\primer\idea\26\test26.pas (Module: 26)
Information:Pascal builder: D:\FPC\3.0.4\bin\i386-win32\fpc.exe
Information:Pascal builder: Free Pascal Compiler version 3.0.4 [2017/10/06] for i386
Information:Pascal builder: Copyright (c) 1993-2017 by Florian Klaempfl and others
Information:Pascal builder: Target OS: Win32 for i386
Information:Pascal builder: Compiling D:\Free Pascal(TP7)\3.0.4\primer\idea\26\test26.pas
Information:Pascal builder: Linking D:\Free Pascal(TP7)\3.0.4\primer\idea\26\out\production\26\test26.exe
Information:Pascal builder: 11 lines compiled, 0.1 sec, 43504 bytes code, 1892 bytes data
Information:Some files were changed during the build. Additional compilation may be required.
Information:06.03.2019 19:51 - Compilation completed successfully in 986 ms


Mirage писал(а):Вывод отладчика, который выводится в окно Debug, может помочь узнать в чем дело. Можно его сюда скопировать, посмотрим.

Но проблем:
>>>> -break-delete
>>>> -break-insert -f "D:\Free Pascal(TP7)\3.0.4\primer\idea\26\test26.pas:9"
>>>> -gdb-set target-async on
>>>> -gdb-set new-console on
>>>> -exec-run
gdb -n -fullname -nowindows -interpreter=mi "" --args "D:\Free Pascal(TP7)\3.0.4\primer\idea\26\out\production\26\test26.exe"
=thread-group-added,id="i1"
~"GNU gdb (GDB) 7.2\n"
~"Copyright (C) 2010 Free Software Foundation, Inc.\n"
~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law. Type \"show copying\"\nand \"show warranty\" for details.\n"
~"This GDB was configured as \"mingw32\".\nFor bug reporting instructions, please see:\n"
~"<http://www.gnu.org/software/gdb/bugs/>...\n"
~"Reading symbols from D:\\Free Pascal(TP7)\\3.0.4\\primer\\idea\\26\\out\\production\\26\\test26.exe..."
~"done.\n"
(gdb)
^done
(gdb)
&"Function \"D\" not defined.\n"
^done,bkpt={number="1",type="breakpoint",disp="keep",enabled="y",addr="<PENDING>",pending="D:Free Pascal(TP7)\003.0.4primeridea\026\test26.pas:9",times="0",original-location="D:Free Pascal(TP7)\003.0.4primeridea\026\test26.pas:9"}
(gdb)
^done
(gdb)
^done
(gdb)
=thread-group-started,id="i1",pid="7532"
=thread-created,id="1",group-id="i1"
~"[New Thread 7532.0x1100]\n"
^running
*running,thread-id="all"
(gdb)
=library-loaded,id="C:\\Windows\\system32\\ntdll.dll",target-name="C:\\Windows\\system32\\ntdll.dll",host-name="C:\\Windows\\system32\\ntdll.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\syswow64\\kernel32.dll",target-name="C:\\Windows\\syswow64\\kernel32.dll",host-name="C:\\Windows\\syswow64\\kernel32.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\syswow64\\KernelBase.dll",target-name="C:\\Windows\\syswow64\\KernelBase.dll",host-name="C:\\Windows\\syswow64\\KernelBase.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\syswow64\\oleaut32.dll",target-name="C:\\Windows\\syswow64\\oleaut32.dll",host-name="C:\\Windows\\syswow64\\oleaut32.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\syswow64\\ole32.dll",target-name="C:\\Windows\\syswow64\\ole32.dll",host-name="C:\\Windows\\syswow64\\ole32.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\syswow64\\msvcrt.dll",target-name="C:\\Windows\\syswow64\\msvcrt.dll",host-name="C:\\Windows\\syswow64\\msvcrt.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\syswow64\\gdi32.dll",target-name="C:\\Windows\\syswow64\\gdi32.dll",host-name="C:\\Windows\\syswow64\\gdi32.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\syswow64\\user32.dll",target-name="C:\\Windows\\syswow64\\user32.dll",host-name="C:\\Windows\\syswow64\\user32.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\syswow64\\advapi32.dll",target-name="C:\\Windows\\syswow64\\advapi32.dll",host-name="C:\\Windows\\syswow64\\advapi32.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\SysWOW64\\sechost.dll",target-name="C:\\Windows\\SysWOW64\\sechost.dll",host-name="C:\\Windows\\SysWOW64\\sechost.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\syswow64\\rpcrt4.dll",target-name="C:\\Windows\\syswow64\\rpcrt4.dll",host-name="C:\\Windows\\syswow64\\rpcrt4.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\syswow64\\sspicli.dll",target-name="C:\\Windows\\syswow64\\sspicli.dll",host-name="C:\\Windows\\syswow64\\sspicli.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\syswow64\\cryptbase.dll",target-name="C:\\Windows\\syswow64\\cryptbase.dll",host-name="C:\\Windows\\syswow64\\cryptbase.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\syswow64\\lpk.dll",target-name="C:\\Windows\\syswow64\\lpk.dll",host-name="C:\\Windows\\syswow64\\lpk.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\syswow64\\usp10.dll",target-name="C:\\Windows\\syswow64\\usp10.dll",host-name="C:\\Windows\\syswow64\\usp10.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\SysWOW64\\imm32.dll",target-name="C:\\Windows\\SysWOW64\\imm32.dll",host-name="C:\\Windows\\SysWOW64\\imm32.dll",symbols-loaded="0",thread-group="i1"
=library-loaded,id="C:\\Windows\\syswow64\\msctf.dll",target-name="C:\\Windows\\syswow64\\msctf.dll",host-name="C:\\Windows\\syswow64\\msctf.dll",symbols-loaded="0",thread-group="i1"
=thread-exited,id="1",group-id="i1"
=thread-group-exited,id="i1"
*stopped,reason="exited-normally"
>>>> -gdb-exit
(gdb)
^exit

Mirage писал(а):Я так понимаю, дело происходит на винде. Там GDB по умолчанию не стоит

Извиняюсь параметры системы:
ОС, - Windows 7 (64 разрядная)
Free Pascal 3.0.4
IntelliJ IDEA 2018.3.4

Насчет того GDB не установлен, - в этом не уверен. :roll:
Ведь дает же он(GDB) свою версию в отладчике:
~"GNU gdb (GDB) 7.2\n"
~"Copyright (C) 2010 Free Software Foundation, Inc.\n"

Или немного по-другому нужно трактовать это сообщение?
mishel56
новенький
 
Сообщения: 11
Зарегистрирован: 28.02.2019 14:33:11

Re: IntelliJ IDEA + Pascal

Сообщение Mirage » 06.03.2019 23:29:09

Да, стало понятно в чем причина. В команде -break-insert -f "D:\Free Pascal(TP7)\3.0.4\primer\idea\26\test26.pas:9" GDB интерпретирует D как имя функции (должен как имя файла, видимо слишком стар GDB), двоеточие как разделитель, а остальное как номер строки, видимо.
Скорее всего поможет выключение опции "Use full file names for breakpoints" в настройках отладчика (SDKs, вкладка Debugger). Когда я проверял на винде этой опции не было. В след. релизе пофикшу.
Еще GDB 7.2 очень уж стар. Он установился с mingw32. Надо бы как-нибудь обновить. Например поставить свежий mingw.

mishel56 писал(а):Что меня смущает у отладчика Java на контрольных точках (красные точки слева) появляется символ галка (если останов на данной строке возможно выполнить) или крестик ((если останов на данной строке выполнить невозможно)).На моем примере(см.видео),-нет никаких значков на красных точках останова?!


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

Пред.След.

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

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

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

Рейтинг@Mail.ru