Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>4gl By SMC (4GL, PER)New to Visual Studio Code? Get it now.
4gl By SMC (4GL, PER)

4gl By SMC (4GL, PER)

4gl by SMC V1

|
7 installs
| (0) | Free
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

4gl By SMC (4GL, PER)

Estensione per Visual Studio Code dedicata allo sviluppo in Informix 4GL, con supporto avanzato per moduli .per, .4gl, .smc, .std e altro ancora.

✨ Funzionalità principali generali e specifiche SMC

  • 🧩F1 Tag automatico

  • 🧩F2 Commento di un blocco selezionato premendo

  • 🧠CTRL+F3 autoidenta tutto il file

  • 🧠CTRL+F4 autoidenta solo il pezzo di codice selezionato

  • 🔍F4 xfind sulla selezione con apertura del file dove è presente la dichiarazione

  • 💻F5 Compilazione veloce salva e lancia in terminale xc -c -g -d se compila con successo ti prepara il link altrimenti ti apre il file *.err con il cursore sull'errore

  • 💻F6 Compilazione completa salva e lancia in terminale gendef && fastins && xc -c -g -d se compila con successo ti prepara il link altrimenti ti apre il file *.err con il cursore sull'errore

  • 📁CTRL-F10 Selezione rapida dell'ambiente divisione e modulo

  • 📁In file *.std tasto destro è presente la funzione inizializza smc che crea il file smc con le funzioni CTRL_PERS e CTRL_SALTO e se basefun aggiunge anche la 06

  • 🔍F12 se non trova la definizione della funzione nel file fa un xfind in automatico attivabile in maniera integrata in VSCODE anche con il CTRL CLICK sulla funzione

  • 🧠 Check delle varibili di sistema,e costrutti del linguaggi maiuscoli

  • 🔍 Analisi del tree delle funzioni con albero visibile

  • 📁CTRL-F11 tagga tutti i file per,smc,std,dep,rep e def

  • 📁CTRL-F12 aggiunge al CSV per committ tutti i file per,smc,std,dep,rep e def

✨ SETTINGS

  • Creazione o meno della cartella del modulo nel workspace, se crea sposta dentro altrimenti cerca il modulo figlio di SI folder nel tuo workspace
  • Possibilità di eseguire o meno il codice al termine della compilazione avvenuta con successo, viene rilevato l'ambiente ed esegue kgo o rgo
  • Spazio identazione dei tipi variabile personalizzabile default (25)

💡 SNIPPET 4GL

Prefisso Descrizione Codice generato
main Blocco MAIN MAIN ... END MAIN
func Blocco FUNCTION FUNCTION ... END FUNCTION
if Struttura IF THEN ELSE IF ... THEN ... ELSE ... END IF
case Struttura CASE CASE ... WHEN ... OTHERWISE ... END CASE
for Ciclo FOR FOR ... TO ... END FOR
while Ciclo WHILE WHILE ... END WHILE
dispto DISPLAY TO con attributi DISPLAY BY NAME x TO y.* ATTRIBUTES (...)
disp DISPLAY BY NAME DISPLAY BY NAME x.*
input INPUT BY NAME con attributi INPUT BY NAME x ... ATTRIBUTES (...)
inputa INPUT ARRAY INPUT ARRAY x FROM y.* ATTRIBUTES (...)
msg MESSAGE a schermo MESSAGE "..."
let Assegnazione LET LET x = y
call Chiamata a FUNCTION CALL f(x)
callret CALL ... RETURNING CALL f(x) RETURNING y
aft Blocco AFTER AFTER evento ...
bef Blocco BEFORE BEFORE evento ...
win OPEN WINDOW con form OPEN WINDOW nome AT x,y WITH FORM "..."
construct CONSTRUCT BY NAME CONSTRUCT BY NAME var ON struttura.*
action ON ACTION ON ACTION nome ...
disparray DISPLAY ARRAY con attributi DISPLAY ARRAY x TO y.* ATTRIBUTES (...)
defstr DEFINE variabile STRING DEFINE x STRING
defint DEFINE variabile INTEGER DEFINE x INTEGER
defsmall DEFINE variabile SMALLINT DEFINE x SMALLINT
defdec DEFINE variabile DECIMAL DEFINE x DECIMAL(n,m)
defchar DEFINE variabile CHAR DEFINE x CHAR(n)
defvar DEFINE variabile VARCHAR DEFINE x VARCHAR(n)
defbool DEFINE variabile BOOLEAN DEFINE x BOOLEAN
defdate DEFINE variabile DATE DEFINE x DATE
defdt DEFINE variabile DATETIME DEFINE x DATETIME YEAR TO FRACTION(n)
defarr DEFINE ARRAY DEFINE arr ARRAY[n] OF tipo
defrec DEFINE RECORD DEFINE rec RECORD ... END RECORD
defreclike DEFINE RECORD LIKE DEFINE rec RECORD LIKE x ... END RECORD
db Apertura DATABASE DATABASE nome
connect CONNECT TO con user/pass CONNECT TO "db" USER "u" USING "pw"
disconnect DISCONNECT dal database DISCONNECT
starttran Inizio TRANSACTION START TRANSACTION
commit COMMIT WORK COMMIT WORK
rollback ROLLBACK WORK ROLLBACK WORK
whener WHENEVER ERROR CONTINUE WHENEVER ERROR CONTINUE
error Comando ERROR ERROR "messaggio"
whensql Gestione errori SQL WHENEVER SQLERROR STOP WHENEVER SQLERROR STOP
onexc Blocco ON EXCEPTION ON EXCEPTION ... END EXCEPTION
try Simulazione TRY/CATCH con WHENEVER GOTO WHENEVER ERROR GOTO on_error ... ON_ERROR:
select Comando SELECT ... INTO ... FROM ... WHERE SELECT ... INTO ... FROM ... WHERE
update Comando UPDATE UPDATE tab SET x = y WHERE ...
delete Comando DELETE DELETE FROM tab WHERE ...
insert Comando INSERT INSERT INTO tab (col) VALUES (val)
esc ON KEY(ESCAPE,INTERRUPT) ON KEY(ESCAPE,INTERRUPT)
menuaction Blocco MENU con ON ACTION MENU ... ON ACTION ... END MENU
winwait Chiamata fgl_winwait CALL fgl_winwait("nome")
QUERY Prepara SELECT dinamica con cursore PREPARE ... DECLARE ...
UPDATE (prepare) Prepara UPDATE dinamico PREPARE ...
CASE (alt.) Blocco CASE WHEN alternativo CASE ... WHEN ... OTHERWISE ...
IFT Struttura IF THEN compatta IF ... THEN ... END IF
IFE Struttura IF ELSE compatta IF ... THEN ... ELSE ... END IF
IFS IF STATUS != 0 per uscita da ciclo LET vg_status = STATUS ... EXIT
OFC OPEN, FETCH, CLOSE con gestione STATUS OPEN ... FETCH ... CLOSE
FUNCTION_VR Funzione con variabili di ritorno (vr_return, ecc.) FUNCTION f... DEFINE ... RETURN ...
FUNPAR Funzione per caricamento parametri (ana_parazi) FUNCTION fp_x_load_params()
PARAZI Recupera parametri da ana_parazi standard CALL fp_sel_parazi(...) RETURNING ...
CTRLPERS Funzione per controlli AFTER FIELD FUNCTION fp_nome_ctrlpers(...) ... RETURN ...
CTRLSALTO Funzione per controlli BEFORE FIELD FUNCTION fp_nome_ctrlsalto(...) ... RETURN ...
ETPAR Recupero parametri da sma_etpar con funzione standard CALL fs_leggi_param(...) RETURNING ...
MESSAGE Messaggio utente con fs_std_24 CALL fs_std_24(..., ..., ..., ..., ...)
POPUP_OK Popup con un tasto (OK) CALL fs_std_07c(...)
POPUP_SN Popup conferma Sì / No IF fs_std_06c(...) THEN ... ELSE ...
DIALOG Blocco DIALOG CON ESCAPE DIALOG attributes with KEY ESCAPE
  1. Digita il prefisso
  2. Seleziona lo snippet suggerito

💡 SNIPPET PER

Prefisso Descrizione Codice generato
perheader Header e struttura base di un form .per SCHEMA, SCREEN, END
layout Blocco LAYOUT con GRID LAYOUT { ... } END
grid Blocco GRID per layout tabellare GRID { ... } END
table Tabella con double click TABLE { ... } END
folder / page Blocco FOLDER con PAGE multipagina FOLDER PAGE { ... } END
tables Blocco TABLES per tabelle TABLES ...
attribs Blocco ATTRIBUTES con più campi ATTRIBUTES ...
instr / screenrecord Blocco INSTRUCTIONS con SCREEN RECORD SCREEN RECORD { ... }
comments Riga di commento # ...
group Blocco GROUP con testo e contenuto GROUP (TEXT="...") {}
vbox Blocco VBOX verticale con splitter VBOX (SPLITTER) {}
label Etichetta con TAG LABEL ... TEXT="..."
edit Campo EDIT con scroll e commento EDIT ... = ..., TAG="..."
buttonedit Campo BUTTONEDIT con ACTION=zoom BUTTONEDIT ...
datetimeedit Campo DATETIMEEDIT con titolo e commento DATETIMEEDIT ...
  1. Digita il prefisso
  2. Seleziona lo snippet suggerito
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft