OpenEdge i VS Code

Visual Studio Code (VS Code) jest alternatywą dla tradycyjnego środowiska Progress Developer Studio (PDSOE). Dzięki oficjalnemu wsparciu Progress Software, programiści OpenEdge mogą korzystać z lekkiego i nowoczesnego środowiska IDE.
Konfiguracja VS Code opiera się na pliku konfiguracyjnym w formacie JSON – w głównym folderze projektu musi znajdować się plik openedge-project.json, zawierający definicje OpenEdge jak: wersja OE, ścieżki (PROPATH), połączenia z bazami danych oraz parametry startowe sesji.
Porównując oba środowisku, VS Code jest lżejszy. PDSOE zużywa dużo więcej pamięci i jest wolniejszy. Jednakże za tym drugim środowiskiem przemawia środowisko graficzne (Visual Designer) niezbędne przy tworzenie projektów typu GUI i .NET.
Jeśli chodzi o integrację ze sztuczną inteligencją, to PDSOE ma ograniczone wsparcie w postaci instalacji pluginu AI. VS Code jest silnie zintegrowany z Github Copilot.
Myślę, że niedaleka przyszłość pokaże jak będa się rozwijać oba środowiska.
Zobaczmy teraz jak skonfigurować VS Code żebyśmy mogli tworzyć programy w ABL na przykładzie wspieranego przez Progress rozszerzenia firmy Riverside Software.
Wymaga ono przynajmniej jednej instalacji OpenEdge z licencją deweloperską i jest obecnie testowane z wersjami 11.7, 12.2 i 12.8, choć nie wyklucza się, że może pracować także ze starszymi wersjami.

Po zainstalowaniu pluginu wchodzimy do ustawień klikając ikonę z kołem zębatym (tzw. gear icon). i klikając Settings.

Wybieram z listy zainstalowaną wersję OpenEdge i klikam na Edit in settings.json. Dodaję ścieżkę do katalogu DLC. Powinno to wyglądać m.w. tak:

    "abl.configuration.defaultRuntime": "12.8",
    "abl.configuration.runtimes": [
        {
            "name": "12.8",
            "path": "C:\\OpenEdge128"
        }
    ],

W katalogu projektu należy umieścić plik openedge-project.json zawierający ustawienia sesji openedge.
Na początku najłatwiej go utworzyć z poziomu sesji ABL, wykonując procedurę utworzoną przez Carla Verbiesta.
Uruchamiamy zatem sesję mpro, prowin czy PDSOE z podłączoną bazą danych i uruchamiamy powyższą procedurę. Teraz trzeba dopasować ścieżki poprawiając znaki “/” i “\” w zależności od systemu operacyjnego. Ja mam dla Windows.
Po małej edycji mój plik openedge-project.json wygląda tak:

{
  "name": "application",
  "version": "1.0",
  "oeversion": "12.8",
  "graphicalMode": true,
  "charset": "ISO8859-1",
  "extraParameters": "-basekey ini",
  "workingDirectory": "C:\\vsProject",
  "numThreads": 1,
  "buildPath": [
    {
      "type": "propath",
      "path": "."
    },
    {
      "type": "propath",
      "path": "C:\\OpenEdge128\\gui"
    },
    {
      "type": "propath",
      "path": "C:\\OpenEdge128"
    },
    {
      "type": "propath",
      "path": "C:\\OpenEdge128\\bin"
    },
    {
      "type": "propath",
      "path": "C:\\OpenEdge128\\gui"
    },
    {
      "type": "propath",
      "path": "C:\\OPENED~1"
    },
    {
      "type": "propath",
      "path": "C:\\OpenEdge128\\bin"
    }
  ],
  "dbConnections": [
    {
      "name": "t",
      "connect": "-db C:\\WrkOpenEdge128\\db\\t -S 10001",
      "schemaFile": "dump\\t.df",
      "aliases": [
        "dictdb"
      ]
    }
  ]
}

Teraz trzeba utworzyć w projekcie podkatalog dump i umieścić tam plik t.df ze schematem bazy.

Gotowe. Teraz wystarczy stworzyć plik z rozszerzeniem .p i napisać kod procedury. Wybieramy Ctrl + Shift + p i wpisujemy komendę ABL: Run with prowin. Jeśli kod jest poprawny to zostaje wykonany.
Jeśli napiszemy tylko ABL: to zobaczymy całą listę dostępnych komend.
Powodzenia.