GEdit External Tools Plugin

Qualche giorno fa, mentre stavo sviluppando un progettino in C/GTK+3, ho avuto la necessità di voler compilare “al volo” il codice e, dato che uso GEdit, ho abilitato e configurato un plugin veramente interessante e potente che mi ha permesso di associare alcune scorciatoie a dei comandi prestabiliti da me :)

In particolare ho associato la scorciatoia CTRL+F9 per compilare semplici programmi in C (quindi senza linkare altre librerie tipo -lm, -lcrypto, ecc) e CTRL+F10 per compilare programmi in C/GTK+3.

Vediamo passo passo come fare :)

1. Abilitare il plugin “Strumenti Esterni” da Modifica -> Preferenze -> Plugin:

Abilitare Plugin

Abilitare Plugin

2. Andare su Strumenti -> Manage External Tools per accedere alla configurazione del plugin:

Configurazione External Tools

Configurazione External Tools

3. Aggiungere i comandi che vi interessano. Per fare ciò basta cliccare sul + in basso a sinistra:

Script per compilare programmi C

Script per compilare programmi C

Script per compilare programmi C/GTK+3

Script per compilare programmi C/GTK+3

Andiamo ad analizzare in dettagli i vari campi.

Tasto Scorciatoia: una volta cliccato in quel campo basta premere i tasti della scorciatoia da tastiera desiderata

Salva: scegliere se salvare o meno il documento corrente o tutti i documenti aperti prima di eseguire lo script

Input: scegliere cosa dare come input allo script (niente, il file corrente, una selezione, una parola selezionata, ecc)

Output: scegliere cosa fare dell’output prodotto (visualizzarlo in un pannello che si aprirà in fondo allo schermo, salvare l’output su un file, sostituire una selezione, ecc)

Applicabilità: scegliere a che documento applicare lo script (ai soli documenti salvati, a tutti i documenti, ai documenti locali o remoti, ecc) e anche a che tipo di documento applicare tale script (C, C++, Ada, Fortran, F#, DOS, ecc)

Ovviamente nel caso di decidesse di impostare un comando per compilare (per esempio GCC) e il campo “Salva” viene lasciato su “Niente” è obbligatorio mettere come “Applicabilità” la voce “Solo ai documenti salvati”.

Ora non resta che analizzare le voci da scrivere all’interno dello script.

1
2
3
4
5
6
#!/bin/sh
 
dir=$GEDIT_CURRENT_DOCUMENT_DIR
file=$GEDIT_CURRENT_DOCUMENT_NAME
out_file=$(basename $file .c)
gcc -Wall -g -O1 -o ${dir}/${out_file} ${dir}/${file}
#!/bin/sh

dir=$GEDIT_CURRENT_DOCUMENT_DIR
file=$GEDIT_CURRENT_DOCUMENT_NAME
out_file=$(basename $file .c)
gcc -Wall -g -O1 -o ${dir}/${out_file} ${dir}/${file}

La prima e la seconda riga contengono delle variabili d’ambiente che vogliono dire rispettivamente “Percorso completo della directory in cui si trova il file” e “Nome del file attualmente aperto”. Altre variabili d’ambiente che possono essere usate sono:

  • GEDIT_CURRENT_DOCUMENT_URI
  • GEDIT_CURRENT_DOCUMENT_SCHEME
  • GEDIT_CURRENT_DOCUMENT_PATH
  • GEDIT_DOCUMENTS_URI
  • GEDIT_DOCUMENTS_PATH

La terza riga contiene il nome del file che produrrà GCC (con il suffisso ”.c” dico a basename di prendere il nome del file e togliere l’estensione ”.c”).

Infine la quarta riga contiene il comando GCC con le varie opzioni (-Wall per abilitare tutti gli avvisi, -g produce informazioni di debug nel formato nativo del sistema operativo e -O1 indica il livello di ottimizzazione, ndr)

E questo, per quanto riguarda le opzioni, è tutto. Ora manca solo il risultato :)

Infatti con le mie impostazioni il risultato finale, una volta salvato il file e premuto CTRL+F10, è:

Risultato Esecuzione Script

Risultato Esecuzione Script

 

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *


*

È possibile utilizzare questi tag ed attributi XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code lang=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" extra="">

Ricevi un avviso se ci sono nuovi commenti. Oppure iscriviti senza commentare.