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.

vs-code-mikrotik-scripts

Dodatkowo skrypty przechowuję w repozytorium Git. Jeśli jeszcze nie macie zainstalowanego to można pobrać z strony: https://git-scm.com/downloads

vs-code-mikrotik-scripts-1

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ć.

vs-code-mikrotik-scripts-2

https://marketplace.visualstudio.com/items?itemName=liximomo.sftp

Konfiguracja dodatku sprowadza się do utworzenia pliku w katalogu .vscode

vs-code-mikrotik-scripts-3
vs-code-mikrotik-scripts gitlens

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

mikrotik scripts vscode 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

vscode mikrotik scripts routeros syntax

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)