RISOLTO Visual Studio Code - configurazione

Stato
Discussione chiusa ad ulteriori risposte.

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Ho installato Visual Studio e sto cercando ora di configurare bene l'ambiente di sviluppo per potere scrivere programmi standalone con Java.
Relativamente all'ambiente necessario a Java ho letto qui che, oltre all'installazione di Java JDK e necessaria anche quella di "Maven", ma sulla documentazione di riferimento leggo:
Maven è uno strumento per la gestione e la comprensione dello sviluppo del progetto. Basato sul concetto di un modello di oggetto del progetto: build, gestione delle dipendenze, creazione della documentazione, pubblicazione del sito e pubblicazione della distribuzione
Ma è proprio necessario? Mi pare che sia uno strumento di interfaccia col S.O. e col mondo Web, però se io provo a scrivere un programma in Java da utilizzare solamente sul mio pc, senza quindi ricorrere ad alcun supporto software evoluto, lo compilo e lo avvio, funziona benissimo senza doversi appoggiare su un'interfaccia. E allora perchè dovrei installare Maven?
 

pabloski

Utente Èlite
2,868
916
Perchè ogni strumento nasce per soddisfare determinate necessità. La gestione delle dipendenze ( quelle librerie di terze parti che servono ad un progetto ) non è banale quando hai a che fare con centinaia di librerie, con versioni differenti che potrebbero essere incompatibili.

Altra questione è il ciclo di vita di un software. Quando si sviluppa software professionalmente, prima cosa lo si fa in team e già coordinare le attività di vari programmatori non è banale. E tutti questi devono ovviamente usare le stesse dipendenze, altrimenti è il caos.

Poi si procede per fasi. Cioè in un determinato momento si vuole testare il software per una certa funzionalità appena sviluppata. Quindi si entra in quella fase e si fanno tutta una serie di operazioni, definite una volta sola e poi eseguite da Maven automaticamente.

Chiaro che tutto questo è inutile per un progetto amatoriale. E Maven è assolutamente fuori luogo in un simile contesto.
 
Ultima modifica:

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Perchè ogni strumento nasce per soddisfare determinare necessità
....
Poi si procede per fasi. Cioè in un determinato momento si vuole testare il software per una certa funzionalità appena sviluppata. Quindi si entra in quella fase e si fanno tutta una serie di operazioni, definite una volta sola e poi eseguite da Maven automaticamente.

Chiaro che tutto questo è inutile per un progetto amatoriale. E Maven è assolutamente fuori luogo in un simile contesto.
Quindi se non ho capito male, mi vuoi dire che potrei fare a meno di installlare Maven.

Se cosi è non mi resta che passare finalmente alla configurazione di Java in Vs Code, con tutto il corredo di estensioni accessorie per i miei scopi. Ho letto da qualche parte che occorre avere già impostato la variabile d'ambiente JAVA_HOME.
Io ho guardato e non è affatto impostata. Come procedo allora?
Post unito automaticamente:

Penso di essere riuscito ad impostare la varianile d'ambiente di Java:
Codice:
 sudo update-alternatives --config java
Sono disponibili 2 scelte per l'alternativa java (che fornisce /usr/bin/java).

  Selezione    Percorso                                        Priorità  Stato
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      modalità automatica
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1101      modalità manuale
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      modalità manuale

Press <enter> to keep the current choice[*], or type selection number:
petrus@petrus-Aspire-M1200-3200-5200:~$ sudo xed /etc/environment

------- ho inserito all'interno dell'editor xed la riga "JAVA_HOME" -------
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME= "/usr/lib/jvm/java-11-openjdk-amd64/bin/java"
------ ed ho salvato il file, tornando alla riga di comando -------

$ echo $JAVA_HOME
"/usr/lib/jvm/java-11-openjdk-amd64/bin/javac"

Fatto questo ho cominciato a seguire un esempio di utilizzo di Vs Code, scrivendo un semplice "Benarrivato", ma ho avuto una sorpresa nella digitazione di dichiarazione della classe d'avvio del programmino, perchè nella digitazione della parola "class" dopo avere scritto "cl" è scomparso il suggerimento di completamento in "class" che l'intellisense del "Java Extension Pack," contiene, mentre nell'esempio visto nella guida funziona perfettamente.
Trascuro la cosa e vado avanti, oppure devo modificare qualcosa?
Post unito automaticamente:

Ho tentato di andare avanti in Vs Code, all'avvio ricevo due errori:
1) sull'attivazione del supporto IntelliCode per Java
2) sulla variabile d'ambiente JAVA_HOME.

Mi sono perciò fermato.
 
Ultima modifica:

pabloski

Utente Èlite
2,868
916
Quindi se non ho capito male, mi vuoi dire che potrei fare a meno di installlare Maven.

Non ti servirebbe a niente

Ho letto da qualche parte che occorre avere già impostato la variabile d'ambiente JAVA_HOME.

Non sotto Linux almeno. Io Java lo installo tramite il package manager della distro e funziona tutto senza dover settare JAVA_HOME. Sotto Windows e' un altro paio di maniche.


Ho tentato di andare avanti in Vs Code, all'avvio ricevo due errori:
1) sull'attivazione del supporto IntelliCode per Java
2) sulla variabile d'ambiente JAVA_HOME.

Mi sono perciò fermato.

Ricapitolando il tutto devi:

1. installare JDK
2. installare VSCode
3. installare le estensioni Language Support for Java by Redhat e Code Runner

La seconda ti serve perche' altrimenti dovresti aprire il terminale e digitare javac e java per compilare ed eseguire i programmi. Usando Code Runner puoi semplicemente premere Ctrl+Alt+N dall'interno di VSCode e il programma verra' compilato ed eseguito. Il risultato e' visibile nella finestrella del terminale in basso che si aprira' automaticamente.

Ripeto che JAVA_HOME non l'ho mai settato e non ho mai avuto problemi. L'importante e' che i comandi javac e java siano raggiungibili. Ti basta aprire un terminale e digitarli e, se funzionano, vuol dire che tutto e' ok.
Post unito automaticamente:

p.s. ho notato che hai installato il Java Extension Pack di MS...niente di sbagliato, hai installato solo della roba in piu'...

inoltre JAVA_HOME e' sbagliata

dev'essere

JAVA_HOME= "/usr/lib/jvm/java-11-openjdk-amd64"
 
Ultima modifica:

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Quindi, avendo installato in VS Code "Java Extension Pack", dovrei avere il necessario per cominciare a provare la scrittura di un programmino da esercitazione conoscitiva.
Ho scritto, allora, il solito banalissimo programma di visualizzazione sullo schermo di un messaggio.
Allego l'immagine con le righe di programma scritte Schermata a 2019-03-21 17-35-48.png

Ebbene in Vs Code non riesco nè a compilarlo CTRL+Shift+B -> Nessuna atttività di compilazione trovato. Cofigurare attività di compilazione),
nè ad avviarlo da Debug (F5 -> non succede niente)

Ma, avendo il codice visibile nelle finestra attiva, non è il file attivo corrente da testare, compilare o eseguire?
 

pabloski

Utente Èlite
2,868
916
Quindi, avendo installato in VS Code "Java Extension Pack", dovrei avere il necessario per cominciare a provare la scrittura di un programmino da esercitazione conoscitiva.
Ho scritto, allora, il solito banalissimo programma di visualizzazione sullo schermo di un messaggio.
Allego l'immagine con le righe di programma scritte Visualizza allegato 330643

Ebbene in Vs Code non riesco nè a compilarlo CTRL+Shift+B -> Nessuna atttività di compilazione trovato. Cofigurare attività di compilazione),
nè ad avviarlo da Debug (F5 -> non succede niente)

Ma, avendo il codice visibile nelle finestra attiva, non è il file attivo corrente da testare, compilare o eseguire?

Bisogna installare Code Runner per poter compilare ed eseguire i programmi Java. Oppure usare Maven, Gradle e similari, ma abbiamo detto che e' meglio evitarli per ora. Ctrl+Shift+N e parti la compilazione. In verita' appare pure una scritta Run | Debug in sovraimpressione.

Inoltre ricorda di riavviare VS Code dopo aver installato l'estensione.
 

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Posso installare Code Runner, anche se, secondo me la funzione dovrebbe essere già contenuta in "Java Test Runner", estensione interna a "Java Extension Pack".
Nella descrizione del pacchetto si legge:
Java Test Runner"
Overview
A lightweight extension to run and debug Java test cases in Visual Studio Code. The extension support following test frameworks:
  • JUnit 4 (v4.8.0+)
  • JUnit 5 (v5.1.0+)
  • TestNG (v6.8.0+)
The Java Test Runner works with Language Support for Java by Red Hat and Debugger for Java to provide the following features:
  • Run test cases
  • Debug test cases
  • View test report
  • View tests in Test Explore
Post unito automaticamente:

Ho disinstallato "Java Extension Pack". Di contro ho installato:
- Language support for Java ™ for Visual Studio Code
- Code Runner
Ho provato ad avviare il debug, ma non è cambiato niente
Ho provato anche a lanciare il programmino da menu -> terminale -> Esegui file attivo
Ma anche così non è cambiato niente.
Bisogna installare Code Runner per poter compilare ed eseguire i programmi Java. Oppure usare Maven, Gradle e similari, ma abbiamo detto che e' meglio evitarli per ora. Ctrl+Shift+N e parti la compilazione. In verita' appare pure una scritta Run | Debug in sovraimpressione.
Ho provato pure il comando di scorciatoia da te indicato, ma a me non si sovrappone alcuna scritta, si apre invece un ulteriore finestra di VS Code.

Francamente non riesco ad avviare in Vs Code il mio primo programmino di prova. Non so più cosa fare.
 
Ultima modifica:

pabloski

Utente Èlite
2,868
916
Difficile dire quale sia il problema. Tuttavia e' bene fare una serie di controlli:

1. aprire il terminale Linux e digitare java o javac ( o entrambi ) e vedere se sono eseguibili...in questo modo si ha la certezza che l'ambiente Java sia funzionante
2. riaprire un file .java con VS Code, premere F1 e srivere Run Code nella finestrella...se Code Runner e' installato e l'estensione Java funziona, dovrebbe eseguire il programma ed aprire una finestrella in basso dove viene visualizzato l'output

p.s. Java Test Runner serve per eseguire le test unit e riguarda il modello di programmazione TDD
 

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Difficile dire quale sia il problema. Tuttavia e' bene fare una serie di controlli:

1. aprire il terminale Linux e digitare java o javac ( o entrambi ) e vedere se sono eseguibili...in questo modo si ha la certezza che l'ambiente Java sia funzionante
Prova già fatta. Funziona perfettamente.

2. riaprire un file .java con VS Code, premere F1 e srivere Run Code nella finestrella...se Code Runner e' installato e l'estensione Java funziona, dovrebbe eseguire il programma ed aprire una finestrella in basso dove viene visualizzato l'output
Ha funzionato. Allego la schermata:
Schermata a 2019-03-22 15-11-41.png
Noterai anche tu però che ha impiegato ben quasi 7" per l'esecuzione.
 

pabloski

Utente Èlite
2,868
916
Non e' che ha compilato pure Superenalotto.java? Lo dico perche' a me impiega mezzo secondo per compilare ed eseguire l'hello world.

2019-03-22-173054_1920x1080_scrot.png
 
Ultima modifica:

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
No.
Ora ho fatto un'altra prova, dopo avere cancellato il file Benarrivato.class.
Ho rieseguito Run Code e questa volta ha impiegato 3.03 sec.. Poi, senza eliminare il file .class,
ho riavviato ancora Run Code ed ha impiegato 5.996 sec.
Schermata a 2019-03-22 21-57-51.png

Un'ultima notizia: Ora l'avvio di Run Code con CTRL+ALT+N funziona.
 

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Si, quasi 11 anni di vita, con le seguenti caratteristiche:
AMD Athlon(tm) Processor LE-1620
clock: 200 MHz
Frequenza: 2400 MHz
Velocità del bus: One 1000 MHz 16-bit HyperTransport link (2 GT/s)
RAM : 2GB
Core count: 1

dischi fissi a corredo:
1) ATA SanDisk SSD PLUS (scsi) da 240GB con 3 partizioni destinate a Linux Fedora, mate L. Ubuntu mate e L. Mint mate
e 1 partizione di swap dimensionata a 4 GB
2) ATA WDC WD10EFRX-68F (scsi) da 1000GB con una partizione dimensionata a 110 GB contenente il mio archivio dati
3) ATA Hitachi HDP72501 (scsi) da 160GB con 2 partizioni destinate al salvataggio periodico di dati

Penso da un bel pò di tempo di sostituirlo con uno fresco, ma non so decidermi su che cosa orientarmi, sia in termini di clock, di n° di core e di capacità di RAM.

Sarà questa la volta buona che mi decido.
 

petrusic

Utente Attivo
227
20
CPU
AMD Athlon - X86_64
Scheda Madre
Acer RS780HVF
HDD
SSD PLUS da 240GB (ospita 3 S.O Linux), WDC WD10EFRX-68F da 1000GB (ospita solo archivi dati)
RAM
n.2 DDR" per 2GB
OS
fedora 28 Mate, Ubuntu Mate, Linux Mint 19
Stato
Discussione chiusa ad ulteriori risposte.

Entra

oppure Accedi utilizzando
Discord Ufficiale Entra ora!