domenica 15 ottobre 2017

C++ con Visual Studio Code

Cercando un'alternativa per un IDE di sviluppo in C++, mi sono imbattuto nell'articolo di Microsoft su come programmare in C++ con Visual Studio Code

Per questo IDE è stato creato un plugin alla stessa Microsoft che consente l'intellisense del codice.
Il plugin però, come ben specificato, non contiene built-in alcun compiler o debugger, che devono essere installati separatamente.
Non è necessario che il compilatore sia quello Microsoft, anche se il plugin è già pronto a lavorare con questo (ovviamente solo su Windows, non su Linux o Mac), ma possono essere usati anche altri compilatori come ad esempio MINGW, e proprio con quello ho fatto una prova per vedere se tutto funzionava correttamente.

Diciamo subito che non è tutto automatico, tanto che ho dovuto, seguendo le istruzioni, creare sia il file c_cpp_properties.json che il tasks.json per poter compilare. Però, una volta fatto, tutto si risolve con un semplice CTRL+SHIFT+B e la compilazione è fatta!

Certo, una volta compilato, sarebbe bello poter debuggare. Niente di più semplice! Il file launch.json, nel folder .vscode, contiene appunto tutte le configurazioni necessarie per poter debuggare.
Anche in questo caso, seguendo l'articolo, che rimanda alla documentazione del plugin, sono riuscito a creare una configurazione perfettamente funzionante. Anch qui, non è automatico per i nabbi, ma una volta capito il meccanismo il pattern è replicabile all'infinito.

A questo punto sono diventato curioso: e se volessi fare il build tramite makefile?
Il gioco è concettualmente lo stesso: il file tasks,json contiene le configurazioni di progetto: basta modificarlo o aggiungere nuovi task per ottenere il risultato voluto.
Nel mio caso ho modificato il task di build nel seguente modo:

{
  "taskName": "build",
  "type": "shell",
  // "command": "g++",
  "command": "mingw32-make",
  "args": [
    //"-g", "-o", "helloworld", "helloworld.cpp"
  ],
  "group": {
    "kind": "build",
    "isDefault": true
  }
}

In questo modo il task build chiama, invece di g++ con i parametri, il maker: chiamandolo senza parametri il processo cerca ovviamente il file di default, cioè makefile.

E quindi direi che Visual Studio Code potrà essermi molto utile per i miei piccoli esperimenti in C++.

Nessun commento:

Posta un commento