Conflitto interpreti/compilatori su VS Code Ubuntu

Pubblicità

Hero467

Utente Attivo
Messaggi
695
Reazioni
406
Punteggio
75
Salve a tutti,
non ho postato nella sezione Programmazione perché mi sembra più una questione da Linux, visto che su Windows non succede.
Su Visual Studio Code l'interprete di Python va continuamente in conflitto con GCC, costringendomi a eseguire i file in C da terminale, se no vengono "interpretati" da Python, ed è ovviamente una seccatura. Non parliamo poi di C# e Java, che nemmeno riesco a configurare i relativi compilatori per problemi all'editor.
Visto che ho provato guide su guide pensavo di fare un reset completo di Ubuntu (22.04 LTS), in modo che i relativi file si sistemino.
Va bene come soluzione oppure ce ne sono di migliori?
 
Salve a tutti,
non ho postato nella sezione Programmazione perché mi sembra più una questione da Linux, visto che su Windows non succede.
Su Visual Studio Code l'interprete di Python va continuamente in conflitto con GCC, costringendomi a eseguire i file in C da terminale, se no vengono "interpretati" da Python, ed è ovviamente una seccatura. Non parliamo poi di C# e Java, che nemmeno riesco a configurare i relativi compilatori per problemi all'editor.
Visto che ho provato guide su guide pensavo di fare un reset completo di Ubuntu (22.04 LTS), in modo che i relativi file si sistemino.
Va bene come soluzione oppure ce ne sono di migliori?
Mmh,troppo generico prova a dare più dettagli
 
i file C non si eseguono ma si compilano, in genere con makefile.
Sicuro che non stai facendo tu qualcosa di sbagliato ?

Per un programma in python puoi usare qualsiasi editor, linux ne offre molti, e eseguirlo semplicemente invocandolo da riga di comando.
 
Mmh,troppo generico prova a dare più dettagli
Si, scusa.
Ho installato su vsc per primo l'interprete Python, perché all'inizio programmavo solo in quello, e fin lì tutto bene: premevo il tasto esegui e si eseguiva.
Poi ho voluto provare con il C, e visto che su ubuntu GCC è preinstallato pensavo che bastasse installare l'estensione e premere esegui, come con js, che su vsc è nativo. Invece se faccio F5 (perché magicamente il tasto esegui nei file che non siano .py scompare, a parte js) me lo esegue comunque con l'interprete Python. Per forzare l'esecuzione correttamente devo avviare una sezione di debug e selezionare manualmente GDB (neanche GCC, perché non compare tra le opzioni), anche se devo farlo 2/3 volte per far si che vada, perché ci sono più opzioni di GDB, e non si sa quale sia quella giusta.
Successivamente ho provato Java e C#, ma neanche parlarne. Ho provato a seguire le guide della pagina di GitHub ufficiale di vsc e un post qui, ma Java non dava la parvenza di voler funzionare, e C# va solo a volte, però mi segna errore tutte le parole chiave (solo durante la scrittura, in compilazione va tutto a posto) e non c'è l'autocompletamento. Ho provato a guardare il file "launch.json", ma mi sembrava tutto ok, quindi non capisco cosa non vada. Praticamente posso sviluppare solo in Python su vsc.

i file C non si eseguono ma si compilano, in genere con makefile.
Sicuro che non stai facendo tu qualcosa di sbagliato ?
Di solito vsc da la possibilità di compilare es eseguire il file compilato direttamente sull'editor, cosa che più o meno riesco a fare, anche se in maniera fastidiosa.

Per un programma in python puoi usare qualsiasi editor, linux ne offre molti, e eseguirlo semplicemente invocandolo da riga di comando.
Sisi, lo so, ma sono sempre stato abituato a usare vsc che ha un sacco di strumenti pronti (mentre editor tipo NANO e Vim richiedono l'installazione di plugin per fare le cose che fa vsc, e non sono neanche tutte), e python è l'unico interprete che funziona come dovrebbe la dentro, quindi se devo cambiare qualcosa di sicuro non tocco lui
 
Gli IDE sono ottimi offuscatori. In questa fase iniziale non ti servono a nulla. Li sconsiglio vivamente specie all'inizio, perche non ti fanno capire nulla di quello che fai. Li userai in seguito quando avrai capito come va configurato un progetto avendo le basi.

Inizia con un editor semplice, come kdevelop, per C va benissimo, o kate. Poi ti tieni a fianco una finestra console.

- scrivi il tuo "main.c"
- nella finestra a fianco compila con "gcc main.c -o test"
- esegui, e inizia a comprendere le opzioni di compilazione che puoi aggiungere, come -O2 -O3, o -O0 -ggdb
- aggiungi -O0 -g lancia il programma tramite debugger ed esegui riga per riga (gdb test, run, step etc)

Step sucessivo, organizzare un progetto piu serio progetto con alcune sottodirectory, piu di un file .c e .h e un makefile

- src
- include
makefile

Step sucessivo, usare qualche libreria, settare l'include patch se necessario, inziare a linkare l'eseguibile finale con la libreria.

Una volta capiti bene i meccanismi di compilazione fondamentali, allora potrai scegliere un ide sapendo come impostarlo in caso di errori.
 
Si, scusa.
Ho installato su vsc per primo l'interprete Python, perché all'inizio programmavo solo in quello, e fin lì tutto bene: premevo il tasto esegui e si eseguiva.
Poi ho voluto provare con il C, e visto che su ubuntu GCC è preinstallato pensavo che bastasse installare l'estensione e premere esegui, come con js, che su vsc è nativo. Invece se faccio F5 (perché magicamente il tasto esegui nei file che non siano .py scompare, a parte js) me lo esegue comunque con l'interprete Python. Per forzare l'esecuzione correttamente devo avviare una sezione di debug e selezionare manualmente GDB (neanche GCC, perché non compare tra le opzioni), anche se devo farlo 2/3 volte per far si che vada, perché ci sono più opzioni di GDB, e non si sa quale sia quella giusta.
Successivamente ho provato Java e C#, ma neanche parlarne. Ho provato a seguire le guide della pagina di GitHub ufficiale di vsc e un post qui, ma Java non dava la parvenza di voler funzionare, e C# va solo a volte, però mi segna errore tutte le parole chiave (solo durante la scrittura, in compilazione va tutto a posto) e non c'è l'autocompletamento. Ho provato a guardare il file "launch.json", ma mi sembrava tutto ok, quindi non capisco cosa non vada. Praticamente posso sviluppare solo in Python su vsc.


Di solito vsc da la possibilità di compilare es eseguire il file compilato direttamente sull'editor, cosa che più o meno riesco a fare, anche se in maniera fastidiosa.


Sisi, lo so, ma sono sempre stato abituato a usare vsc che ha un sacco di strumenti pronti (mentre editor tipo NANO e Vim richiedono l'installazione di plugin per fare le cose che fa vsc, e non sono neanche tutte), e python è l'unico interprete che funziona come dovrebbe la dentro, quindi se devo cambiare qualcosa di sicuro non tocco lui
Non hai settato vs code a dovere. Il problema è che gli altri linguaggi vanno buildati esplicitamente. Mentre nel caso di python il building è mascherato
 
Gli IDE sono ottimi offuscatori. In questa fase iniziale non ti servono a nulla. Li sconsiglio vivamente specie all'inizio, perche non ti fanno capire nulla di quello che fai. Li userai in seguito quando avrai capito come va configurato un progetto avendo le basi.

Inizia con un editor semplice, come kdevelop, per C va benissimo, o kate. Poi ti tieni a fianco una finestra console.

- scrivi il tuo "main.c"
- nella finestra a fianco compila con "gcc main.c -o test"
- esegui, e inizia a comprendere le opzioni di compilazione che puoi aggiungere, come -O2 -O3, o -O0 -ggdb
- aggiungi -O0 -g lancia il programma tramite debugger ed esegui riga per riga (gdb test, run, step etc)

Step sucessivo, organizzare un progetto piu serio progetto con alcune sottodirectory, piu di un file .c e .h e un makefile

- src
- include
makefile

Step sucessivo, usare qualche libreria, settare l'include patch se necessario, inziare a linkare l'eseguibile finale con la libreria.

Una volta capiti bene i meccanismi di compilazione fondamentali, allora potrai scegliere un ide sapendo come impostarlo in caso di errori.
Ottimo, per il C allora seguirò questa strada.

Non hai settato vs code a dovere. Il problema è che gli altri linguaggi vanno buildati esplicitamente. Mentre nel caso di python il building è mascherato
Dove posso trovare una guida per settarlo?
 
Ottimo, per il C allora seguirò questa strada.
Sono solo suggerimenti eh, poi vedi tu.

Gli ide hanno dei template, tipo "nuovo progetto", "simple makefile C", robe del genere, per un progetto semplice senza librerie. Un nuovo progetto da template dovrebbe compilare, se no disinstalla e se proprio vuoi "l'ide"scegline un altro, come kdevelop, atom, qtcreator, eclipse, e molti altri.
 
Ultima modifica:
Sono solo suggerimenti eh, poi vedi tu.

Gli ide hanno dei template, tipo "nuovo progetto", "simple makefile C", robe del genere, per un progetto semplice senza librerie. Un nuovo progetto da template dovrebbe compilare, se no disinstalla e se proprio vuoi "l'ide"scegline un altro, come kdevelop, atom, qtcreator, eclipse, e molti altri.
Guarda vscode, è ben fatto su qualsiasi SO funziona a dovere, quando devo riprendere a studiare e non ho voglia di installarmi tutti quelli jetbrains, uso vscode. Dato che è all'inizio tantovale impararne uno "universale"
 
Sono solo suggerimenti eh, poi vedi tu.

Gli ide hanno dei template, tipo "nuovo progetto", "simple makefile C", robe del genere, per un progetto semplice senza librerie. Un nuovo progetto da template dovrebbe compilare, se no disinstalla e se proprio vuoi "l'ide"scegline un altro, come kdevelop, atom, qtcreator, eclipse, e molti altri.
Vs code ha il pregio (o difetto) di non avere template, è come un editor di testo molto avanzato. Tu crei il file e lui te ne da uno vuoto, dove devi scrivere tutto tu con le librerie che vuoi. L'unico problema che ho è l'esecuzione del programma nella console integrata
--- i due messaggi sono stati uniti ---
Guarda vscode, è ben fatto su qualsiasi SO funziona a dovere, quando devo riprendere a studiare e non ho voglia di installarmi tutti quelli jetbrains, uso vscode. Dato che è all'inizio tantovale impararne uno "universale"
Esatto, è la stessa cosa che penso anch'io
 
Pubblicità
Pubblicità
Indietro
Top