Conflitto interpreti/compilatori su VS Code Ubuntu

Hero467

Utente Attivo
689
404
OS
I use ARCH btw
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?
 

ilfe98

Moderatore
Staff Forum
Utente Èlite
3,052
1,278
CPU
Intel i7 7700K
Dissipatore
Bequiet Dark rock pro 4
Scheda Madre
Msi pc mate z270
HDD
Seagate barracuda 1tb, silicon power NVME 500gb
RAM
Patriot viper steel 3733Mhz
GPU
Inno 3d gtx 1080 herculez design
Monitor
Asus mg279q
PSU
Corsair HX750
Case
Itek lunar 23
Net
Tiscali ftth
OS
windows 10,mint,debian,Arch linux
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
 

bigendian

Utente Attivo
737
423
OS
Linux
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.
 

Hero467

Utente Attivo
689
404
OS
I use ARCH btw
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
 

bigendian

Utente Attivo
737
423
OS
Linux
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.
 

ilfe98

Moderatore
Staff Forum
Utente Èlite
3,052
1,278
CPU
Intel i7 7700K
Dissipatore
Bequiet Dark rock pro 4
Scheda Madre
Msi pc mate z270
HDD
Seagate barracuda 1tb, silicon power NVME 500gb
RAM
Patriot viper steel 3733Mhz
GPU
Inno 3d gtx 1080 herculez design
Monitor
Asus mg279q
PSU
Corsair HX750
Case
Itek lunar 23
Net
Tiscali ftth
OS
windows 10,mint,debian,Arch linux
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
 

Hero467

Utente Attivo
689
404
OS
I use ARCH btw
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?
 

bigendian

Utente Attivo
737
423
OS
Linux
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:

ilfe98

Moderatore
Staff Forum
Utente Èlite
3,052
1,278
CPU
Intel i7 7700K
Dissipatore
Bequiet Dark rock pro 4
Scheda Madre
Msi pc mate z270
HDD
Seagate barracuda 1tb, silicon power NVME 500gb
RAM
Patriot viper steel 3733Mhz
GPU
Inno 3d gtx 1080 herculez design
Monitor
Asus mg279q
PSU
Corsair HX750
Case
Itek lunar 23
Net
Tiscali ftth
OS
windows 10,mint,debian,Arch linux
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"
 

Hero467

Utente Attivo
689
404
OS
I use ARCH btw
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
Post unito automaticamente:

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
 

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!