Visual Studio Code

ΠΡΟΛΟΓΟΣ

Έχουμε δει σε προηγούμενο άρθρο την Εγκατάσταση του Visual Studio Code σε openSUSE. Σε αυτό το άρθρο θα δείξουμε λίγο πιο ολοκληρωμένες ενέργειες. Αφορμή της συγγραφής του άρθρου αυτού ήταν η αποτυχία ρύθμισης και χρήσης του Visual Studio Code με τις γλώσσες προγραμματισμού Python, C και Java. Η αρχική εγκατάσταση έγινε μέσω flatpak (θα το δουμε παρακάτω) αλλά δεν μπορούσε να γίνει ρύθμιση με Java. Είχα ψάξει στα γρήγορα τι είναι καλύτερο για το VSCode, το flatpak ή το αρχείο deb/rpm και βρήκα αυτό στο reddit. Σίγουρα υπάρχουν και άλλα αποτελέσματα. Εδώ κάποιος ανέφερε ότι στο flatpak υπάρχουν κάποια θέματα debugging οπότε αποφάσισα και εγώ να κάνω εγκατάσταση από deb/rpm. Όμως έπρεπε να κρατήσω και τα extensions που έχω εγκατεστημένα (για να μην ψάχνω). Βρήκα και τρόπο γι’αυτό. Οπότε εδώ θα προσπαθήσω να τα αναφέρω όλα.

ΕΓΚΑΤΑΣΤΑΣΗ Visual Studio Code

Θα δούμε τους πιο γνωστούς τρόπους εγκατάστασης του Visual Studio Code.

ΕΓΚΑΤΑΣΤΑΣΗ με αρχεία deb/rpm

Για διανομές όπως είναι η openSUSE, Fedora, Red Hat, Ubuntu, Debian και παράγωγά τους, μπορείτε να κατεβάσετε το αντίστοιχο αρχείο για τη διανομή σας (rpm για τις 3 πρώτες και deb για τις άλλες 2). Κάντε την λήψη των αρχείων από εδώ:

Download

Η εγκατάσταση είναι απλή. Μπορείτε με διπλό κλικ πάνω στο αρχείο, οπότε θα ανοίξει ο διαχειριστής αρχείων εγκατάστασης της διανομής σας και στη συνεχεια θα πατήσετε το κουμπί εγκατάστασης. Εναλλακτικά μπορείτε να το εγκαταστήσετε με τερματικό με τις εντολές:

**Για Ubuntu, Debian:**  
sudo dpkg -i code*.deb  

**Για Fedora, Red Hat, openSUSE:**  
sudo rpm -i code*.rpm

Σε Arch Linux θα βρείτε πολλές εκδόσεις. Προτιμήστε την έκδοση visual-studio-code-bin που θα την βρείτε από το αποθετήριο AUR (ανάλογα με ποιον AUR helper χρησιμοποιείτε, αλλάξτε την εντολή).

yay -S visual-studio-code-bin

Υπάρχουν περισσότερες πληροφορίες πως μπορείτε να προσθέσετε αποθετήριο και να το κάνετε εγκατάσταση χειροκίνητα για όλες τις διανομές στην επίσημη τεκμηρίωση εδώ.

ΕΓΚΑΤΑΣΤΑΣΗ με flatpak

Εάν έχετε εγκατεστημένο το flatpak στον υπολογιστή σας (δείτε πως γίνεται αυτό), μπορείτε να εγκαταστήσετε το Visual Studio Code με την παρακάτω εντολή:

flatpak install com.visualstudio.code

Αν και έχει άλλες δυο εκδόσεις του Visual Studio Code (vscodium και code-OSS), επιλέξτε την παραπάνω έκδοση.

ΕΓΚΑΤΑΣΤΑΣΗ με snap

Οι διανομές που χρησιμοποιούν τα πακέτα snap (Ubuntu κυρίως), μπορείτε να το εγκαταστήσετε είτε από την σελίδα snapcraft είτε με την παρακάτω εντολή:

sudo snap install --classic code

Εάν δεν έχετε snap εγκατεστημένο, δείτε στην διανομή σας πως εγκαθίσταται. Παράδειγμα, δείτε στην openSUSE εδώ.

ΕΓΚΑΤΑΣΤΑΣΗ προσθέτων για το λειτουργικό

ΕΓΚΑΤΑΣΤΑΣΗ για Python

Για την εγκατάσταση της Python δεν θα χρειαστεί να κάνουμε κάτι γιατί είναι ήδη εγκατεστημένη στο σύστημα. Συνήθως είναι και κάποια έκδοση 2.x και κάποια έκδοση 3.x. Δείτε τις εκδόσεις με τις εντολές:

**Για python 2:**  
python --version  

**Για python 3:**  
python3 --version

Ενώ μπορείτε να κάνετε αναβάθμιση του pip με την εντολή:

pip install --upgrade pip

Ενώ για αναβάθμιση όλων των πακέτων που έχετε εγκατεστημένα, μπορείτε να εισάγετε την εντολή:

pip3 list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip3 install -U

ΕΓΚΑΤΑΣΤΑΣΗ για C

Και εδώ δεν θα χρειαστούν πολλά γιατί είναι ήδη εγκατεστημένη στον υπολογιστή σας. Πρέπει να είναι εγκατεστημένο το πακέτο gcc. Αυτό βρίσκεται στο build-essential

**Για Ubuntu/Debian:**  
sudo apt install build-essential  

**Για openSUSE:**  
sudo zypper in gcc  

**Για Arch Linux:**  
sudo packam -S gcc

Για να δείτε ποιά έκδοση μεταγλωττιστή έχετε, μπορείτε να χρησιμοποιήσετε την εντολή:

gcc --version

Δοκιμάστε το κλασικό Hello world. Γράψτε στο τερματικό nano hello.c και εισάγετε τον κώδικα για την C. Στη συνέχεια εκτελέστε τις εντολές:

$ gcc -o hello hello.c $ ./hello

ΕΓΚΑΤΑΣΤΑΣΗ για Java

Πριν ξεκινήσουμε την εγκατάσταση, ας δούμε τις διαφορές μεταξύ JRE, OpenJDK και Oracle JDK.

Εδώ θα χρειαστεί να γίνουν κάποιες εγκαταστάσεις-ρυθμίσεις.

Για αρχή δείτε τι έκδοση java έχετε.

java -version

Εάν έχετε εγκατεστημένη την java, τότε σε ένα σύστημα Ubuntu θα δείτε τα παρακάτω:

openjdk version "11.0.11" 2021-04-20  
OpenJDK Runtime Environment (build 11.0.11+9-Ubuntu-0ubuntu2.20.04)  
OpenJDK 64-Bit Server VM (build 11.0.11+9-Ubuntu-0ubuntu2.20.04, mixed mode, sharing)

Ενώ σε ένα σύστημα που δεν έχει εγκατεστημένη την java, θα δείτε ένα αποτέλεσμα του τύπου:

The program java can be found in the following packages:  
* default-jre  
* gcj-4.6-jre-headless  
* openjdk-6-jre-headless  
* gcj-4.5-jre-headless  
* openjdk-7-jre-headless  
Try: sudo apt-get install

Εγκατάσταση JRE

Για εγκατάσταση του Java Runtime Environment

sudo apt install default-jre

Εγκατάσταση OpenJDK

Για εγκατάσταση του OpenJDK

sudo apt install default-jdk

Εγκατάσταση openSUSE

Στο openSUSE να έχετε εγκατεστημένα τα παρακάτω:

sudo zypper in java-11-openjdk-devel java-11-openjdk java-11-openjdk-headless

Εγκατάσταση Oracle JDK

Για εγκατάσταση του Oracle JDK, κατεβάστε και εγκαταστείστε το αντίστοιχο αρχείο για την διανομή σας.

Εναλλακτικά σε Ubuntu based διανομές, μπορείτε να εισάγετε το αποθετήριο:

sudo add-apt-repository ppa:webupd8team/java  
sudo apt-get update

Και στη συνέχεια για την java έκδοση 16 (αυτή κυκλοφορεί τελευταία. Αν θέλετε να αλλάξετε έκδοση, απλά αλλάξτε το νούμερο), μπορείτε να την εγκαταστήσετε με τις παρακάτω εντολές:

sudo apt install oracle-java16-installer  
sudo apt install oracle-java16-set-default

Για openSUSE, υπάρχει διαθέσιμη τεκμηρίωση.

Για Arch Linux, υπάρχει και τεκμηρίωση στο wiki.

ΡΥΘΜΙΣΕΙΣ Visual Studio Code

Εγκαταστάσεις extensions

Για την πλήρη εμεπειρία χρήσης αλλά και για την εκτέλεση των προγραμμάτων, θα χρειαστεί να εγκατασταθούν κάποια πρόσθετα. Ποια ειναι αυτά και για ποιες γλώσσες προγραμματισμού;

ΕΓΚΑΤΑΣΤΑΣΗ για Python

Για την Python χρειάζεται το πρόσθετο που μπορείτε να βρείτε στο Market place.

Ανοίξτε το VS Code Quick Open (με τα πλήκτρα Ctrl+P) και επικολήστε την εντολή:

ext install ms-python.python

Εναλλακτικά ανοίξτε την μηχανή αναζήτησης των extensions και αναζητήστε Python. Θα σας εμφανίσει πολλά. Εσείς επιλέξτε εκδότη την Microsoft (μπορείτε να επιλέξετε ότι άλλο θέλετε αλλά αυτό εφαρμόζει καλύτερα στο πρόγραμμα Visual Studio Code).

Καλό είναι να εγκαταστήσετε και το Jupyter, το Visual Studio IntelliCode και το Pylance.

Ανοίξτε το VS Code Quick Open (με τα πλήκτρα Ctrl+P) και επικολήστε την εντολή:

**Jupyter:**  
ext install ms-toolsai.jupyter  

**Visual Studio IntelliCode:**  
ext install VisualStudioExptTeam.vscodeintellicode  

**Pylance:**  
ext install ms-python.vscode-pylance

Δείτε περισσότερα στην τεκμηρίωση στην σελίδα του Visual Studio Code.

ΕΓΚΑΤΑΣΤΑΣΗ για C

Για την C χρειάζεται το πρόσθετο που μπορείτε να βρείτε στο Market place.

Ανοίξτε το VS Code Quick Open (με τα πλήκτρα Ctrl+P) και επικολήστε την εντολή:

ext install ms-vscode.cpptools

Εναλλακτικά ανοίξτε την μηχανή αναζήτησης των extensions και αναζητήστε C/C++. Θα σας εμφανίσει πολλά. Εσείς επιλέξτε εκδότη την Microsoft (μπορείτε να επιλέξετε ότι άλλο θέλετε αλλά αυτό εφαρμόζει καλύτερα στο πρόγραμμα Visual Studio Code).

C/C++

Δείτε περισσότερα στην τεκμηρίωση στην σελίδα του Visual Studio Code.

ΕΓΚΑΤΑΣΤΑΣΗ για Java

Για την Java χρειάζεται το πρόσθετο που μπορείτε να βρείτε στο Market place.

Ανοίξτε το VS Code Quick Open (με τα πλήκτρα Ctrl+P) και επικολήστε την εντολή:

ext install vscjava.vscode-java-pack

To Extension Pack for Java, περιέχει τα παρακάτω:

Δείτε περισσότερα στην τεκμηρίωση στην σελίδα του Visual Studio Code.

Μεταφορά extensions

Αφού έγινε η εγκατάσταση, τώρα έπρεπε να μεταφέρω και τα extensions που είχα στην προηγούμενη εγκατάσταση (ή αν θέλετε να συγχρονίσετε δυο συστήματα να έχουν τα ίδια extensions). Υπάρχουν 2-3 τρόποι. Θα γράψω κάποιους.
Καταρχήν ανοίξτε το VSCode και ανοίξτε το τερματικό. Εκεί δώστε την παρακάτω εντολή:

code --list-extensions | xargs -L 1 echo code --install-extension

Εμένα μου έβγαλε την παρακάτω λίστα.

code --install-extension formulahendry.code-runner  
code --install-extension ms-python.python  
code --install-extension ms-python.vscode-pylance  
code --install-extension ms-toolsai.jupyter  
code --install-extension ms-vscode.cmake-tools  
code --install-extension ms-vscode.cpptools  
code --install-extension redhat.java  
code --install-extension twxs.cmake  
code --install-extension VisualStudioExptTeam.vscodeintellicode  
code --install-extension vscjava.vscode-java-debug  
code --install-extension vscjava.vscode-java-dependency  
code --install-extension vscjava.vscode-java-pack  
code --install-extension vscjava.vscode-java-test  
code --install-extension vscjava.vscode-maven  

Την αντέγραψα σε ένα αρχείο txt και μετά την νέα εγκατάσταση, εκτέλεσα μια προς μια τις εντολές.

Εναλλακτικά υπάρχουν και πιο αυτοματοποιημένοι τρόποι. Δηλαδή θα φτιάξετε ένα αρχείο με τα extensions που έχετε εγκατεστημένα με την παρακάτω εντολή:

code --list-extensions > vscode-extensions.list

Μεταφέρετε το αρχείο vscode-extensions.list στο νέο σύστημα και μετά με την παρακάτω εντολή θα εγκατασταθούν.

cat vscode-extensions.list | xargs -L 1 code --install-extension

Διάφορες ρυθμίσεις

Μια ρύθμιση που την είχα κάνει στην εγκατάσταση με flatpak και δεν θυμόμουν ήταν αυτή με την οποία όταν εκτελούσα ένα πρόγραμμα σε C, άνοιγε το ενσωματωμένο τερματικό και εκεί έβλεπα τα αποτελέσματα. Βρήκα το How to run a C program in Visual Studio Code? όπου μας λέει όλα αυτά που ανέφερα παραπάνω (με την προσθήκη πως γίνεται και σε Windows). Σε ένα σημείο λέει ότι όταν εκτελείται ο κώδικας, τότε έχουμε ως έξοδο ένα Read-Only αποτέλεσμα χωρίς τη δυνατότητα να εισάγει ο χρήστης δεδομένα.

Read-Only Output

Οπότε λέει να προβούμε στην παρακάτω ρύθμιση.

File>Preferences>Settings

Extensions

Run Code Configuration

Run In Terminal

Κλείστε και ανοίξτε ξανά το πρόγραμμα για να πάρει τις ρυθμίσεις. Τώρα όταν εκτελείτε ένα πρόγραμμα C, θα υπάρχει αλληλεπόδραση χρήστη με τον υπολογιστή.

Ελπίζω να ήταν πολύ βοηθητικές οι οδηγίες. Μοιραστείτε με τους φίλους σας που αντιμετωπίζουν πρόβλημα εγκατάστασης ή ρυθμίσεων.

Πηγές:
Visual Studio Code on Linux

Αρχική δημοσίευση:
https://eiosifidis.blogspot.com/2021/08/visual-studio-code.html