Visual Studio CODE – wygodny edytor do pisania skryptów RouterOS
VSCODE w ostatnim czasie zyskał wielu zwolenników. Stanowi ciekawą alternatywę dla innych zaawansowanych edytorów, posiada wiele dodatków (Extension) które można szybko i łatwo pobrać z sklepu (MarketPlace). Tak jak i u konkurentów w większości są darmowe. Darmowy jest także VS CODE.
Poniżej opiszę Wam swoje spostrzeżenia jak spersonalizowałem edytor oraz czego używam do pisania skryptów.
Na początek czysty VS CODE. Można go pobrać z strony: https://code.visualstudio.com
Dostępne są wersje na MS Windows, macOS oraz Linux.
Dodatkowo skrypty przechowuję w repozytorium Git. Jeśli jeszcze nie macie zainstalowanego to można pobrać z strony: https://git-scm.com/downloads
To tyle na sam początek. Teraz można przystąpić do poprawiania komfortu.
Na początek polecam dodatek sftp. Dzięki niemu za każdym razem gdy zapiszę plik ze skryptem, automatycznie zostanie on przesłany za pomocą FTP do Mikrotika, na którym skrypt mogę przetestować.
https://marketplace.visualstudio.com/items?itemName=liximomo.sftp
Konfiguracja dodatku sprowadza się do utworzenia pliku w katalogu .vscode
Kolejnym dodatkiem który lubię jest: GitLens
Znacznie ułatwia on pracę nad repozytorium Git, można łatwo porównywać wersję plików i wykonywać operacje typu: push, commit etc.
Gdy Skrypt staje się dłuższy dobrze jest mieć „ładną” prezentację wcięć (indent) kodu. Tu polecam indent-rainbow
https://marketplace.visualstudio.com/items?itemName=oderwat.indent-rainbow
Teraz przyszedł czas na pokolorowanie składni naszego skryptu z pomocą dodatku RouterOS syntax Highlighting
https://marketplace.visualstudio.com/items?itemName=cperezabo.routeros-syntax
Na koniec jako zwieńczenie polecam kawałek skryptu, który działając cyklicznie na naszym deweloperskim RouterOS będzie sprawdzał czy jest nowsza wersja skryptu i w razie potrzeby go zaktualizuje. Jeśli pojawi się nowy plik utworzy nowy skrypt.
{
:foreach plik in=[/file find type=”script”] do={
:local np [/file get $plik name];
:if ($np~”scriptsMWTC” = true) do={
:local cc [/file get $np contents];
:do {
:local sc [/system script get $np source]
:if ($cc != $sc) do={
:put (“Zmienil sie skrypt: ” . $np)
/system script remove $np
/system script add name=$np source=$cc
}
} on-error={
:put (“Dodaje nowy skrypt: ” . $np)
/system script add name=$np source=$cc }
}
}
}
*scriptsMWTC – wyróżnik ścieżki (w moim przypadku nazwa katalogu)
** ograniczaniem jest wielkość pliku z kodem (4KB)
Mam nadzieję że od teraz pisanie skryptów będzie dla Was przyjemniejsze. Jeśli jesteś zainteresowany poznaniem potęgi skryptów Mikrotik RouterOS zapraszam na naszej autorskie warsztaty (https://mwtc.pl/RouterOS-scripts.php)