purebasic.info

PureBasic forum
Текущее время: Сб ноя 17, 2018 3:59 am

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Чт июн 07, 2018 6:12 pm 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 235
Благодарил (а): 22 раз.
Поблагодарили: 33 раз.
Пункты репутации: 0
Пётр писал(а):
Это весь функционал отладчика или еще что-то поддерживается?.

Я не пользовался их отладчиками, там есть отладчик в виде функций, отправляя во внешнее окно (консоль отладчика), для меня ничего интересного там не показалось, как впрочем и в вашей справке.
Во первых в AutoIt3 отладчик встроен в интерпретатор, то есть я могу запустить без отладчика и если скрипт запнётся он выдаст строку и позицию, то есть стрелкой покажет к примеру на имя переменной, что с ней проблема, или текстовые сообщения что индекс массива превышен или не найдет закрывающий тег какой то конструкции.
Если скрипт не получает данных но не выдаёт сообщение об ошибке,то переменные узнаёшь через мессагу, ду, у них там вывод в консоль, но меня это напрягало пол-окна консоли, а мессагу я получаю тоже самое, единственное я написал скрипт (скриншот), которым выделил переменную, нажал хоткей, он мне сформировал мессагу или выдал окно с предложением как оформить вывод. А также написал свой типа дебагер, передавая которому переменную он узнаёт его тип и от типа делает результат вывода соответствующий, например если массив, то показывает его содержимое, а также параметром задавал способ вывода, в мессагу, в консоль, в буфер, в лог-файл. Но всё это было ненужные навороты, мне пользоваться этим было излишне.
Также делал несколько инструментов, например "переименование переменных", или вывод имён переменных, или выделял код функции (процедуру), нажимал получить переменные с целью объявления локальными, то есть выдавал мне готовую строку переменных использующихся внутри функции, удалял из них переданные в вызове функции, давал подсказки какие переменные следует проверить на глобальность. Ну чтобы было понятней выдавал строку "Protected hwnd, text$, i, id". Также в родном IDE как и во всех, автозавершение было только для имени функции, в NPP до версии 6.5.3 я мог указать всю строку с параметрами, у меня вставлялось типа MessageRequester("Сообщение", "Текст"), делал двойной клик и слове и заполнял своими данными, то есть я не мог запутаться в параметрах, не требовалось открывать справку. Теперь же это поломано, сам движок режет строку по пробелам, но появились плюшки: в конструкции можно использовать символы переноса \r\n и вставляется готовая конструкция, как снипсет, только работает в 100 раз интерактивней, а с пробелом есть выход, используем неразрывный пробел 160, вешаем на горячую клавишу скрипт, который заменит в исходнике пробел 160 нормальным 32, это можно сделать к примеру команду перед компилированием.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Чт июн 07, 2018 8:03 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11325
Благодарил (а): 4 раз.
Поблагодарили: 440 раз.
В простых программах редко требуется отладчик, но по мере усложнения программы, он может сильно упростить и ускорить разработку. Не нужно много раз пересматривать код думая почему он работает не так как должен. Достаточно посмотреть как он выполняется и обычно это все ставит на свои места.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Вт июн 12, 2018 9:05 am 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 235
Благодарил (а): 22 раз.
Поблагодарили: 33 раз.
Пункты репутации: 0
bizdon писал(а):
AZJIO, залил настроенный npp.

Русифицировал LanguageHelp, несколько лет назад я перевёл плаги, которыми пользуюсь, и давно не обновлял. Но проверил этот плаг и у него проблема как я уже писал ранее, если в справку встроен значок запуска скриптов, то при запуске из этого плага это не работает. То есть справка работает, но она является дочерним окном к NPP и видимо не может из себя запустить дочерний скрипт, который должен открыться в родительском окне, родитель должен стать дочерним дочернего. В общем буду делать скриптом, как раньше.

Сделал аналог LanguageHelp, но без вышеуказанного отрицательного эффекта


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Ср июн 13, 2018 9:12 am 
Не в сети
док

Зарегистрирован: Сб окт 31, 2009 7:44 am
Сообщений: 168
Благодарил (а): 92 раз.
Поблагодарили: 5 раз.
Пункты репутации: 0
[quote="AZJIO"[/quote]
Русифицировал..
не вижу необходимости русифицировать интерфейс чего-либо, все слова стандарнтные. Справки (например, PB) согласен, хорошо бы иметь на русском - ускоряет восприятие.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Пт июн 22, 2018 10:33 am 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 235
Благодарил (а): 22 раз.
Поблагодарили: 33 раз.
Пункты репутации: 0
Начал делать автозавершение, вот. Я конечно мог написать скрипт, который вытащит из справки все имена функций и констант, сгенерирует для функций параметры, чтобы выводить подсказку, но у меня другой подход, чтобы не было много телодвижений при выборе из кучи мусора, я добавляю потихоньку часто используемые и стараюсь чтобы они не утопали в редко используемых, то есть при вводе они были практически сразу в видимых пунктах. Для начала ключевые слова, строковые функции и мессага.
Так как я в качестве пробела использую неразрывный пробел то добавил скрипт для замены их нажатием Alt+Z.

В присоединённом файле всё что нужно.


Вложения:
Notepad++ autocomplete PureBasic.zip [459.93 KiB]
Скачиваний: 19
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Пт июн 22, 2018 11:46 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11325
Благодарил (а): 4 раз.
Поблагодарили: 440 раз.
AZJIO писал(а):
Я конечно мог написать скрипт, который вытащит из справки все имена функций и констант, сгенерирует для функций параметры, чтобы выводить подсказку
Компилятор может предоставить эту информацию. Константы.
Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Compiler = RunProgram(#PB_Compiler_Home+"\Compilers\pbcompiler.exe", "/STANDBY", "", 
                      #PB_Program_Open | #PB_Program_Read | #PB_Program_Write | #PB_Program_Hide)
 
If Compiler
  WriteProgramStringN(Compiler, "CONSTANTLIST")
 
  While ProgramRunning(Compiler)
    If AvailableProgramOutput(Compiler)
      Debug ReadProgramString(Compiler)
    EndIf
  Wend
 
  CloseProgram(Compiler) ; Close the connection to the program
EndIf

viewtopic.php?p=69473#p69473

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Пт июн 22, 2018 11:48 am 
Не в сети
МОДЕРАТОР

Зарегистрирован: Вт дек 05, 2006 8:46 am
Сообщений: 6397
Благодарил (а): 21 раз.
Поблагодарили: 200 раз.
Пункты репутации: 52
AZJIO писал(а):
В присоединённом файле всё что нужно.

А почему Instrument_azjio x64, думаете у всех такая система?
Да и вообще, ради 3-х десятков строк кода Replace160.exe на >800 кб это тут моветон :D
Переписали бы на PB, раз уж на этом форуме тусуетесь.

_________________
read-only ¯\_(ツ)_/¯


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Пт июн 22, 2018 1:16 pm 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 235
Благодарил (а): 22 раз.
Поблагодарили: 33 раз.
Пункты репутации: 0
kvitaliy писал(а):
А почему Instrument_azjio x64, думаете у всех такая система?
там не обязаловка, можно в другую папку класть и другой путь в shortcuts.xml указать. Я кладу туда, потому что не плагин это, а инструментов у меня с десяток.
kvitaliy писал(а):
Да и вообще, ради 3-х десятков строк кода Replace160.exe на >800 кб это тут моветон :D
Пока на AutoIt3 я как думаю так и пишу, а на PureBasic я могу только подумать.
kvitaliy писал(а):
Переписали бы на PB, раз уж на этом форуме тусуетесь.
по позже, я пока больше заинтересован в добавлении новых строк автозавершения, а скрипт я с недовольством сделал, чтобы было полноценное решение. Пока я пишу код PureBasic для меня это острая необходимость, которая тормозит мою эффективность.
Там я уже сделал, что вставляется многострочный текст. Отступы я подвину выделением строк и табом, это всё равно быстрее, чем вводить всё руками.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Пт июн 22, 2018 2:29 pm 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11325
Благодарил (а): 4 раз.
Поблагодарили: 440 раз.
В плагине есть функция beNotified в которой многое можно сделать, в т. ч. формировать и отображать список автозавершения. Это позволит отображать только необходимые ключевые слова, сортировать их как нужно (например часто используемые отображать первыми).
Можно сделать как в PB IDE добавив недостающие возможности.

Изображение

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Пт июн 22, 2018 2:50 pm 
Не в сети
док

Зарегистрирован: Сб окт 31, 2009 7:44 am
Сообщений: 168
Благодарил (а): 92 раз.
Поблагодарили: 5 раз.
Пункты репутации: 0
AZJIO
зачем в вашем плагине-инструменте exe'шник? NPP можно и без него настроить, чтобы в файлах с расширением *.pb было нужное автодополнение.
п.с. мне хочется API'шки c параметрами прикрутить (пригодится для любых языков программирования), но надо переводить в формат npp, готовых xml нет. Новерное, займусь на досуге..


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Сб июн 23, 2018 12:08 am 
Не в сети
МОДЕРАТОР
Аватар пользователя

Зарегистрирован: Пн апр 09, 2007 4:53 pm
Сообщений: 11325
Благодарил (а): 4 раз.
Поблагодарили: 440 раз.
AZJIO писал(а):
какие преимущества я бы получил:
1. Привычный хоткей комментировать/закомментировать - одна клавиша против двух в IDE_PB
2. Привычное авто-завершение строки. В IDE_PB у меня не всегда по Enter вставляется, иногда надо мышкой кликать, а при ложной не вставке ещё и отменять и вводить снова последнюю букву.
3. Привычный поиск и подсветка меток, закладки и прочий функционал с кучей плагинов.
1. В настройках (Основные --> Горячие клавиши) можно изменить клавиши и их число.
2. Опять же в настройках горячих клавиш можно изменить. По умолчанию используется Tab. Можно заменить на Enter или другую кнопку.

На мой взгляд отказ от стандартной IDE и переход на Notepad++ не самая хорошая идея и можно потерять много преимуществ, которые есть в PB IDE, но нет в Notepad++. К примеру, встроенный отладчик, автозавершение элементов исходного кода (в т. ч. не загруженных в редактор, которые подключаются в исходниках). Автозавершение согласно пространству имен и т. д.
Упомянутые закладки можно сделать через заметки или маркеры в исходниках PB IDE или комментарии типа.
Код:
1
;- Это закладка отображаемая в списке процедур


Нужно лучше изучить PB IDE и возможно не будет необходимости использовать Notepad++ в качестве IDE.

_________________
Компьютер позволяет решать все те проблемы, которые до его изобретения не существовали. :) :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Сб июн 23, 2018 7:32 am 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 235
Благодарил (а): 22 раз.
Поблагодарили: 33 раз.
Пункты репутации: 0
Пётр писал(а):
1. В настройках (Основные --> Горячие клавиши) можно изменить клавиши и их число.
Нельзя на две команды поставить одну клавишу, а в NPP одна клавиша переключает туда сюда.

Пётр писал(а):
К примеру, встроенный отладчик,
Я сейчас пишу в NPP, нажимаю F5 этот же исходник открывается в PB_IDE, и там уже тестирую или компилирую. После правки в NPP, активирую окно PB_IDE, он выдаёт сообщение "Переоткрыть изменённый исходник?" переоткрываю, компилирую.

Пётр писал(а):
Нужно лучше изучить PB IDE и возможно не будет необходимости использовать Notepad++ в качестве IDE.
По крайней мере я прочитал описание его работы. Из интересного мне показалось Ctrl+M для выделения блоков, в NPP близкий аналог но менее крутой - клик удерживая Ctrl, выделяет только содержимое скобок, или можно указать внутри кавычек. И нашёл как ставить закладки, удерживая Ctrl, в NPP не надо удерживать

Пётр писал(а):
автозавершение элементов исходного кода (в т. ч. не загруженных в редактор, которые подключаются в исходниках). Автозавершение согласно пространству имен и т. д.
В NPP ранее использовалось автозавершение слов, где можно было использовать пробелы, но нельзя было использовать переносы строк, поэтому я вставлял строку с параметрами, не в подсказках, чтобы руками набирать, а он подсказывает какой параметр набирается методом подсчёта запятых, а я вставлял сразу с параметрами, где часто имена переменных совпадали, а где не совпадали кликал на слове дважды и вставлял своё. В новых версиях это поломали и теперь пробел делит строку на отдельные слова, но зато добавили использование переноса строк (думая что ни кто не будет использовать). Там был параметр additionalWordChar, который по названию определял символы части слова, то есть я мог добавить пробел и # и @, чтобы он при начале набора их предлагал, но этот параметр не работает и я сделал слова начинающиеся с этих символов без них, а потом вводил их. Ну не важно, я вычислил все кривости и ровности NPP и попытался использовать по максимуму. Сейчас меня устраивает ввод многостроковых конструкций, и что променять мне это на ввод имён? Благодаря этому я код набирал мгновенно, легко вставлял метки времени, сложные мессаги, без этого я просто оценивая затраты времени многое бы игнорировал. NPP видит функции и слова текущего документа, но не использует инклуды, но это опять же не страшно для меня слова текущего документа пока близок к мусору, в котором теряется то что я действительно выбрал для ввода, то есть я с закрытыми глазами мог набрать часть текста, например "If" и знал сколько надо сдвинуть курсор стрелкой вниз, чтобы выбрать нужную конструкцию из заранее заготовленных вариантов "If", то есть это было проверка обычной переменной, проверка ошибки, проверка существования файла и их аналоги с инверсией с "Not", и также мессаги были с текстами, с переменными, с пустым параметром для ввода своего.

bizdon писал(а):
AZJIO
NPP можно и без него настроить, чтобы в файлах с расширением *.pb было нужное автодополнение..

если что я перевёл справку NPP, сделал сборку как IDE для AutoIt3, сделал тему подсветки, перевёл несколько (6) плагов, выкладывал несколько своих русификаторов, предлагал кучу улучшений, сделал несколко файлов автозавершения для языков, сделал подсветки для UDL, поэтому рассказывать мне как устроен NPP примерно также как рассказывать мне как устроен AutoIt3. Лучше вникнуть о чём я.

bizdon писал(а):
автодополнение
я тоже называл это автоподстановкой, но это не автодополнение и не автоподстановка, а автозавершение.
bizdon писал(а):
мне хочется API'шки c параметрами прикрутить (пригодится для любых языков программирования)
то есть какой то плагин который сам как-то узнает о параметрах и прикрутит используя апишки? Там вся соль прикрутки написать этот самый XML и он не пригодится для любых языков, а только для которого написал. А чтобы не писать, а содрать откуда нибудь, нужно чтобы это где то было написано, и оно написано, обычно в справке, а для некоторых IDE которые поддерживают свой язык и в котором уже прописаны эти подсказки параметров нужно взять их конфиг и посмотреть как его конвертировать в XML, то есть один движок для сдирания всех языков не обязательно правило, если только ты не найдёшь уже готовый IDE (может Sublime Text) поддерживающий много языков и в котором это всё есть


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Сб июн 23, 2018 10:58 pm 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 235
Благодарил (а): 22 раз.
Поблагодарили: 33 раз.
Пункты репутации: 0
Макрос сделал для замены символа 160, в shortcuts.xml это выглядит так:
Код:
1
2
3
4
5
6
7
8
9
 
        <Macro name="Replace160" Ctrl="no" Alt="yes" Shift="no" Key="90">
            <Action type="3" message="1700" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1601" wParam="0" lParam="0" sParam="&#x00A0;" />
            <Action type="3" message="1625" wParam="0" lParam="0" sParam="" />
            <Action type="3" message="1602" wParam="0" lParam="0" sParam=" " />
            <Action type="3" message="1702" wParam="0" lParam="768" sParam="" />
            <Action type="3" message="1701" wParam="0" lParam="1609" sParam="" />
        </Macro>


И обновил XML


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Пн июн 25, 2018 2:47 pm 
Не в сети
док

Зарегистрирован: Сб окт 31, 2009 7:44 am
Сообщений: 168
Благодарил (а): 92 раз.
Поблагодарили: 5 раз.
Пункты репутации: 0
AZJIO
у вас есть сдк и примеры плагинов для npp? Что-то не получилось скачать на оффсайте, а тема интересная, тоже хотел попробовать накодить что-то полезное.
На ваш плагин мой npp ругается, что ему не хватает?


Вложения:
Screenshot_1.png [6.52 KiB]
Скачиваний: 0
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Notepad++ в качестве IDE?
СообщениеДобавлено: Пн июн 25, 2018 3:10 pm 
Не в сети
профессор

Зарегистрирован: Чт фев 09, 2017 10:37 am
Сообщений: 235
Благодарил (а): 22 раз.
Поблагодарили: 33 раз.
Пункты репутации: 0
Скачай в первом сообщении, той темы с суфиксом 11, а то ты мне плюс поставил за 10тый бажный исходник. Там в 11ом доделано. Я хочу дальше что нибудь придумать. Я на работе...

Проверил с твоей сборкой, действительно плагин падает при нажатии кнопки ini, а при выборе визуального вида индикатора, 17-й отображается не так как задумано. Обнови NPP, что тебе строит оставив конфиги пользоваться новой версией.
Убрал плагины в твоей сборке, проверил, всё равно падает.
И вообще он у меня оранжевый фон показывает, я даже не сразу понял как ты на нём работаешь. Наверно на твоей системе это не так.

Мой русификатор для Notepad++, с последними наработками, в том числе и подсветка кода PureBasic и автозавершение.


Вложения:
Help.zip [316.31 KiB]
Скачиваний: 11
Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 30 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group (блог о phpBB)
Сборка создана CMSart Studio
Русская поддержка phpBB