Перейти к содержанию
    

А почему зло? По тексту бегать удобнее с табами, меньше нажимать нужно кнопок.

 

зло не использование кнопки Tab, а наличие символа табуляции в исходном файле. Сложно переносить между редакторами/платформами и т.д. Поэтому я конвертирую все табы в пробелы, но это не значит что я кнопку Tab не использую %)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

зло не использование кнопки Tab, а наличие символа табуляции в исходном файле. Сложно переносить между редакторами/платформами и т.д. Поэтому я конвертирую все табы в пробелы, но это не значит что я кнопку Tab не использую %)

+1.

у меня например таб вообще на 2 символьные позиции настроен

 

Только сделайте лучше чем альдек, который копировал в инстанс все параметры, не отличая parameter от localparam.

с этими localparam произошла странная испория - их теперь разрешили декларировать в заголовках (p1800-2009;они бы ещё все локальные переменные модуля разрешили бы там декларировать). поэтому мудрить не буду, то что объявлено в заголовке, то и пойдёт в шаблон.

относительно автоматического выравнивания, тоже не всё так просто с философской точки зрения. ведь у каждого свой взгляд на то как код форматироваться должен - кто-то инстанс захочет написать в одну строчку, а кто-то на каждой строчке по порту с отступом. думаю для начала принудительный beautify не буду делать (в любом случае автоматический отступ встроен в сам редактор), а там посмотрим.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть у меня одна идея, нечто подобное видел в редакторе Active-hdl. Мне было бы интересно увидеть функцию генерации шаблона

 

ну, в общем эта фичка прикручена.

реагирует она на модули, интерфейсы, функции, процедуры

как только редактор отлавливает ввод открывающейся скобки или символ #(для модулей и интерфейсов) и обнаруживает что идентификатор сообветствует объявленному объекту, всплывает подсказка с сигнатурой данного объекта (ansi шапка) и подсказка, что для вставки данного шаблона необходимо надавить Ctrl+Enter, после чего происходит вставка вида (.имя_порта1(),....имя_портаМ()), для модумей и фейсов происходит также выравнивания (beautify).

ну и дальше не стоит забывать о фичке Alt+щелчёк_мыши, который подскажет в случае необходимости какого типа порт или формальный аргумент.

 

 

жду новых предложений ;)

post-5973-1260587365_thumb.jpg

post-5973-1260587372_thumb.jpg

SideBar.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А почему зло? По тексту бегать удобнее с табами, меньше нажимать нужно кнопок.

1) У всех разные размеры табов (2,4,6,8)

2) Иногда приходится вставлять исходники в водровские/openoffice документы, там тоже табы большие

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну, в общем эта фичка прикручена....

Попробовал, ничего не работает. Скопировал файлик sidebar.lua в папку со scite, запустил редактор набрал простенький модулек, в другом окне попытался вставить его, но никакая подсказка не всплывает. :(

Вы бы могли написать подробную инструкцию как правильно устанавливать ваши скрипты в редактор ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы бы могли написать подробную инструкцию как правильно устанавливать ваши скрипты в редактор ?

вам не нравятся кошки?

да вы просто не умеете их готовить!..

можно и объяснить раз такое дело:

в прикреплённом файле обновлённый SideBar (добавлена кое-какая приятная функциональность в шаблоны + включена подсветка типа по наведению на идентификатор мышки(т.е. щёлкать мышью с зажатым Alt теперь нет необходимости, достаточно просто навести указатель) /отключается на строчке 29 установлением константы local automatic_type_highlight=0 /)

 

инструкция по установке:

SideBar.lua должен быть положен в директорию tools основного каталога Scite (это по умолчанию), но это ещё не всё. необходимо проверить, чтобы в файле SciTEStartup.lua в том же каталоге tools был прописан путь до SideBar

dofile (props["SciteDefaultHome"].."\\tools\\SideBar.lua")

(как видно SideBar.lua может лежать в любом месте, главное указать пр. путь)

в последней сборке SciTE на официальном сайте это уже настроено(не помню точно, но кажется и в предпоследней тоже)

на всякий случай в прикреплённом файле также есть файл общих настроек для SystemVerilog. он называется mysystemverilog.properties, его нужно поместить в мамку languages корневого каталога SciTE. путь к файлу mysystemverilog.properties также нужно указывать, но в файле глобальных настроек SciTEGlobal.properties, он лежит в корне SciTE. я его также положил в архив.

таким образом для тех кто со структурой подстроек SciTE ещё не знаком или плохо в ней ориентируется предлагаю просто скопировать файлы моих настроек поверх стандартных в указанные выше каталоги и поиграться с ними (практически всё в файле настроек комментировано по-русски), за дополнительной информацией можно зайти на страницу описания: http://scite-ru.googlecode.com/svn/trunk/p...iTEDoc_rus.html

 

также можно попробовать альтернативную версию настроек для SV от уважаеного товарища Intekus (см. выше), который также делает разные приблуды для SciTE

 

хочу обратить внимание, что существуют и прочие подстройки для SV(например набор кнопок в toolbar и др.), которые были опубликованы в общей ветке "Редакторы HDL"

 

надеюсь это поможет, если что-то будет непонятно по настройкам - обращайтесь, с удовольствием отвечу

 

ЗЫ: и ещё хочу обратить внимание на то, что область видимости имён (пока что) - только текущий файл, так что думаю функционал по шаблонам модулей пока скорее всего не особо пригодится, другое дело - процедуры, которые часто хранят в тех же файлах, где и инстанциируют.

расширение области видимости до уровня проекта, думаю будет следующим шагом (главное разработать концепцию проекта в SciTE)

SideBar.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1) У всех разные размеры табов (2,4,6,8)

Тем, чем МОЖНО пользоваться - настраивается.

2) Иногда приходится вставлять исходники в водровские/openoffice документы, там тоже табы большие

Вот тогда и конвертируйте, а поганить исходник пробелами из-за того, что какие-то уродцы чего-то там не умеют и не понимают совершенно неразумно.

Нормальная и быстрая навигация по исходнику много важнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

из-за того, что какие-то уродцы чего-то там не умеют и не понимают совершенно неразумно.

Нормальная и быстрая навигация по исходнику много важнее.

про уродцев это конечно несколько категорично, но приму это как объектавную критику ;)

правда так и не понимаю, чем это мешает быстрой навигации :)

кстати, это уже оффтопик, от которого в этой ветке предлагаю воздержаться

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

правда так и не понимаю, чем это мешает быстрой навигации :)

Курсор по табуляциям может может быстро перемещаться, бо один символ. Удаление тоже.

Естественно зависит от возможностей/настроек редактора.

Кроме того, это дополнительная информация для форматеров - стили написания иногда приходится подстраивать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот тогда и конвертируйте, а поганить исходник пробелами из-за того, что какие-то уродцы чего-то там не умеют и не понимают совершенно неразумно.

Нормальная и быстрая навигация по исходнику много важнее.

Во-во, если-бы мне было сильно актуальна проблема, то или нашёл-бы переконвертор, или сам написал,

конвертор по сути не сложный.

Что-б не совсем было оффтопом - можно в редактор такую функцию встоить, если еще нету.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

(как видно SideBar.lua может лежать в любом месте, главное указать пр. путь)

в последней сборке SciTE на официальном сайте это уже настроено(не помню точно, но кажется и в предпоследней тоже)

Немного истории.

SideBar.lua Впервые появился в сборке SciTE 1.77.61Ru от 29.10.2008г.

Но по истине быстро работающим он стал после того как по предложению Тимура Губаева я собрал в феврале под SciTE lpeg.dll, на основе которой он и сделал быстрый парсинг.

 

Во-во, если-бы мне было сильно актуальна проблема, то или нашёл-бы переконвертор, или сам написал,

конвертор по сути не сложный.

Что-б не совсем было оффтопом - можно в редактор такую функцию встоить, если еще нету.

В SciTE-Ru есть два способа это сделать.

1. Это скриптовый вариант, в меню Tools -> Заменить отступы (TAB <-> Пробелы).

Этот вариант позволяет делать замену как всего открытого документа, или только выделенного блока.

2. Сделано на уровне ядра, меню Настройки -> Изменить настройки отступа, или Ctrl+Shift+I.

Этот вариант делает замену во всем открытом документе.

 

P.S ПЛИС для меня это темный лес, AVR намного ближе. Надеюсь не выгоните и буду тут иногда появляться. :rolleyes:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Немного истории.

SideBar.lua Впервые появился в сборке SciTE 1.77.61Ru от 29.10.2008г.

Но по истине быстро работающим он стал после того как по предложению Тимура Губаева я собрал в феврале под SciTE lpeg.dll, на основе которой он и сделал быстрый парсинг.

за что вам огромное спасибо, потому как стандартными средствами Lua (регулярными выражениями), что-либо серьёзное для парсинга было делать очень схожно.

кстати, думаю, что таблицу граматик нужно выносить из SideBar на более высокий уровень, чтобы она была доступна многим скриптам, которые можно будет вкл./откл. по мере надобности. к тому же SideBar насколько я понимаю платформозависимая.

P.S ПЛИС для меня это темный лес, AVR намного ближе. Надеюсь не выгоните и буду тут иногда появляться. :rolleyes:

всегда добро пожаловать!

кстати, синтаксис SystemVerilog очень близок к Си++, думаю большинство правил грамматики для SystemVerilog можно использовать для Си/Си++

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне кажется, хорошим дополнением к боковой панели была бы возможность отображать не только variables/Procedures, но также

1) имена модулей (instances) для быстрой навигации по top модулям

2) имена always statements, которые могут задаваться как

always @ ()

begin : ИМЯ

..

 

ЗЫ. Все, что уже сделано, нравится, очень удобно.

 

Забыл добавить к предыдущему посту, сильно не хватает простой и удобной навигации по проектам. На мой взгляд, хорошо бы иметь возможность добавлять в Favorites не только файлы, но и директории. Еще удобнее было бы иметь возможность делать линки к директориям, чтобы можно было давать им имена проектов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

спасибо за отклик и предложения! я обдумаю ваши идеи, но к сожалению скорейшего воплощения обещать не могу, т.к. временно (в связи с перегрузкой на работе) развитием этого редактора не занимаюсь. однако сразу есть замечание по первым двум пунктам: боюсь добавление этих объектов перегрузит (для восприятия разработчика) окно списка переменных. относительно имён модулей, я думаю, что задача решится, когда воплощу идею представления проекта в качестве дерева видимости имён. а по поводу имён блока: вы точно уверены, что это принесёт большую практическую пользу? я на вскидку не могу представить чтобы этой функцией можно было бы часто пользоваться. из того что приходит в голову, думаю задача решается использованием закладок (к стати, я кажется что-то в скрипте напортачил, они кажется, сейчас нефункциональны - попробую в будущем исправить)

ЗЫ: в любом случае, концепцией огранизации проектов в редакторе обещаю занятся.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...