Когда приходится писать объемные скрипты в стандартном редакторе MikroTik встроенном в RouterOS это делать очень неудобно. Уследить за синтаксисом без "подсветки" нереально. Для примера приведу два скрина одного и того же скрипта в стандартном редакторе и в стороннем редакторе с подсветкой синтаксиса RouterOS:
Для этого энтузиасты создали дополнения и плагины для современных распространенных текстовых редакторов. В этой статье я опишу несколько из них.
Скачиваем с офф. сайта и устанавливаем редактор Notepad++. Скачиваем доп. пакет 1, или доп. пакет 2 (расширенный) со ссылки выше. Я рекомендую второй, там более богатый синтаксис и расширенная цветовая гамма. Открываем Notepad ++, нажимаем Опции > Импортировать > Импортировать Тему, импортируйте файл XML, который вы скачали. Откройте сценарий .rsc и подсветка синтаксиса будет видна. Так же, если сценарий имеет другое расширение, вы всегда можете выбрать тему в меню "Синтаксисы" > RouterOS.
официальный сайт: http://www.textpad.com/
тема на офф. форуме MikroTik: http://forum.mikrotik.com/viewtopic.php?f=9&t=59761
доп. пакет: https://drive.google.com/file/d/0B6LuezGzvlJbSzVYRDh4SnRpRHc/view?usp=sharing
Стандартный редактор скриптов RouterOS. |
Редактор Sublime Text + Package MikrotikScript. |
Для этого энтузиасты создали дополнения и плагины для современных распространенных текстовых редакторов. В этой статье я опишу несколько из них.
Sublime Text
официальный сайт: http://www.sublimetext.com/
тема на офф. форуме MikroTik: http://forum.mikrotik.com/viewtopic.php?f=9&t=81868
Для начала скачиваем сам редактор с официального сайта и устанавливаем на компьютер. Есть два способа установки пакетов.
Первый:
Устанавливаем Package Control, для этого выбираем в меню View > Show Console или нажимаем "ctrl+`". Вводим в консоль скрипт для Sublime Text v2:import urllib2,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')Для Sublime Text v3:
import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
Актуальность этого кода можно посмотреть тут: https://packagecontrol.io/installation. После установки нужно перезапустить Sublime Text.
В главном окне нажимаем Preferences > Package Control или "Ctrl + Shift + P", выбираем пункт Package Control: Install Package, выбираем и устанавливаем пакет MikrotikScript. О пакете можно почитать здесь. Пакет установлен.
Второй:
Просто скачать пакет представленный в ссылке выше (доп. пакет), разархивировать в папку MikrotikScript и подкинуть его в путь хранения пакетов. Его можно посмотреть в Preferences > Browse Packages, для Windows 7 это "C:\Users\%username%\AppData\Roaming\Sublime Text 2\Packages\". Перезапустить Sublime Text, пакет установлен.
После установки в меню View > Syntax выбираем MikrotikScript:
После этого можно работать:
Notepad++
официальный сайт: https://notepad-plus-plus.org/
тема на офф. форуме MikroTik: http://forum.mikrotik.com/viewtopic.php?f=9&t=59761
доп. пакет 2 (расширенный): https://drive.google.com/open?id=0B6LuezGzvlJbMGNmWkZnTmxOQVU
TextPad
официальный сайт: http://www.textpad.com/
тема на офф. форуме MikroTik: http://forum.mikrotik.com/viewtopic.php?f=9&t=59761
доп. пакет: https://drive.google.com/file/d/0B6LuezGzvlJbSzVYRDh4SnRpRHc/view?usp=sharing
Так как синтаксис написан под 5 версию программы, загружаем TextPad 5 из архива, устанавливаем. В версии TextPad 8 запустить синтаксис мне не удалось. Загружаем по ссылке "доп. пакет" синтаксис ROS. Открываем TextPad 5, идем в Configure > Preferences > Folders. Нас интересует поле Systax. Запоминаем путь, и по этому пути кладем наш разархивированный "routerboard.syn". Перезапускаем программу, открываем Configure > New Document Class. Откроется мастер. В поле Ducument class name вводим имя класса (любое), далее в Class members расширение "*. rsc", в следующем окне ставим галочку "Enable syntax highlighting" и в поле Syntax definition file выбираем наш routerboard.syn. Все, для файлов *. rsc TextPad ассоциировал синтаксис.
Если просто скопировать скрипт, в меню View > Document Properties > Syntax можно выбрать наш синтаксис routerboard.syn, и скрипт будет подсвечен.
На этом все. Знаете еще редакторы с доступным синтаксисом RouterOS - прошу в комментарии.
Для Атома есть великолепная подсветка синтаксиса https://atom.io/packages/language-routeros-script
ОтветитьУдалитьспасибо!
УдалитьВсе сделал по статье, но в Notepad++ не заработало. В каталоге тем появился RouterOS-Syntax-Highlighter.xml но подсветки синтаксиса нет. В чем причина,подскажите?
ОтветитьУдалитьНе могу подсказать, в Notepad++ проблем не возникало вообще. Все взлетело сразу. Пробуйте, работают ли другие расширения для этого редактора.
УдалитьНе заработало потому, что нужно импортировать в меню "Синтаксисы > Задать свой синтаксис".
УдалитьКак сделать чтобы в Notepad++ заработало:
ОтветитьУдалить1) открыть папку %APPDATA%/Notepad++
2) скачать по ссылке RouterOS-Syntax-Highlighter.xml
3) сохранить его в %APPDATA%/Notepad++
А) если файл userDefineLang.xml там уже есть, то добавить в него содержимое скачанного файла RouterOS-Syntax-Highlighter.xml как подраздел
Б) если такого файла нет, то переименовать RouterOS-Syntax-Highlighter.xml в userDefineLang.xml
4) Restart Notepad++
Спасибо, помогло :)
УдалитьВ плагине для N++ есть одна особенность - он правильно выглядит только в дефолтном стиле. Если у вас установлен другой, например "Solarized", придется вернутся к дефолтному. Ибо выглядит как УГ.
ОтветитьУдалитьVarangaOfficial - купить мазь варанга - все, что бы хотели знать об этом препарате. Воспользовавшись данным ресурсом, вы сможете узнать полную информацию касающуюся представленного средства. Увидеть данные о клиническом тестировании геля, прочитать реальные отзывы пациентов и медицинского персонала. Изучить инструкцию по использованию, прочесть об особенностях и методах работы мази, понять, почему крем Варанга настолько эффективен, где можно купить сертифицированный, оригинальный препарат и, как избежать покупки подделки. Мы тщательно проверяем публикуемые данные. Предоставляем посетителям нашего онлайн-ресурса сведения, которые были почерпнуты исключительно из достоверных источников. Если вы обнаружили у себя признаки появления грибка или уже довольно продолжительное время, без ощутимых результатов пытаетесь излечиться от этого досадного недуга, у нас на сайте вы найдете быстрый и легкий способ решения проблемы. Присоединяетесь и живите здоровой полноценной жизнью. Благодаря нам, все ответы на самые волнующие вопросы, теперь собраны в одном месте на удобной в использовании и высоко информационном ресурсе.
ОтветитьУдалитьThe Best!
ОтветитьУдалить