📋 Commit iniziale con: - ✅ Documentazione unificata in docs/ - ✅ Codice Laravel in netgescon-laravel/ - ✅ Script automazione in scripts/ - ✅ Configurazione sync rsync - ✅ Struttura organizzata e pulita 🔄 Versione: 2025.07.19-1644 🎯 Sistema pronto per Git distribuito
380 lines
11 KiB
Markdown
380 lines
11 KiB
Markdown
# 🚀 Guida Installazione Visual Studio Code su Ubuntu 24.04 LTS
|
|
# 📋 SPECIFICA PER PROGETTO NETGESCON
|
|
|
|
> **🎯 Guida ottimizzata per il progetto NetGescon su Ubuntu 24.04 LTS**
|
|
> **📍 VM: NETGESCON-MASTER | Ambiente: Laravel + MySQL + Nginx**
|
|
|
|
## 🚀 Script di Installazione Automatica NetGescon
|
|
|
|
### Installazione VS Code + Estensioni NetGescon (One-Click)
|
|
```bash
|
|
#!/bin/bash
|
|
# install-vscode-netgescon.sh - Script completo per VS Code + NetGescon
|
|
|
|
echo "🚀 Installazione Visual Studio Code per NetGescon"
|
|
echo "================================================="
|
|
|
|
# 1. Aggiorna sistema
|
|
sudo apt update && sudo apt upgrade -y
|
|
|
|
# 2. Installa VS Code tramite repository Microsoft
|
|
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
|
|
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
|
|
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
|
|
sudo apt update && sudo apt install -y code
|
|
|
|
# 3. Installa estensioni NetGescon essenziali
|
|
code --install-extension bmewburn.vscode-intelephense-client
|
|
code --install-extension onecentlin.laravel5-snippets
|
|
code --install-extension onecentlin.laravel-blade
|
|
code --install-extension ryannaddy.laravel-artisan
|
|
code --install-extension codingyu.laravel-goto-view
|
|
code --install-extension ms-vscode.vscode-json
|
|
code --install-extension bradlc.vscode-tailwindcss
|
|
code --install-extension formulahendry.auto-rename-tag
|
|
code --install-extension christian-kohler.path-intellisense
|
|
code --install-extension eamodio.gitlens
|
|
code --install-extension mhutchie.git-graph
|
|
code --install-extension ms-vscode-remote.remote-ssh
|
|
|
|
# 4. Configura SSH per accesso remoto
|
|
sudo systemctl enable ssh && sudo systemctl start ssh
|
|
sudo ufw allow ssh && sudo ufw enable
|
|
|
|
# 5. Crea configurazione VS Code per NetGescon
|
|
mkdir -p ~/.config/Code/User
|
|
cat > ~/.config/Code/User/settings.json << 'EOF'
|
|
{
|
|
"workbench.colorTheme": "Default Dark Modern",
|
|
"workbench.iconTheme": "vs-seti",
|
|
"editor.fontSize": 14,
|
|
"editor.tabSize": 4,
|
|
"editor.insertSpaces": true,
|
|
"files.autoSave": "afterDelay",
|
|
"files.autoSaveDelay": 1000,
|
|
"terminal.integrated.fontSize": 12,
|
|
"php.suggest.basic": false,
|
|
"intelephense.files.maxSize": 5000000,
|
|
"blade.format.enable": true,
|
|
"laravel_goto_view.folders": {
|
|
"default": "resources/views",
|
|
"modules": "Modules/{module}/Resources/views"
|
|
},
|
|
"emmet.includeLanguages": {
|
|
"blade": "html"
|
|
},
|
|
"files.associations": {
|
|
"*.blade.php": "blade"
|
|
}
|
|
}
|
|
EOF
|
|
|
|
echo "✅ Visual Studio Code installato e configurato per NetGescon!"
|
|
echo "📍 IP VM: $(hostname -I | awk '{print $1}')"
|
|
echo "🔗 Connessione SSH: ssh $(whoami)@$(hostname -I | awk '{print $1}')"
|
|
```
|
|
|
|
## 📋 Metodi di Installazione Disponibili
|
|
|
|
### Metodo 1: Snap Package (Raccomandato - Più Semplice)
|
|
```bash
|
|
# Installazione tramite Snap (già disponibile su Ubuntu)
|
|
sudo snap install code --classic
|
|
|
|
# Verifica installazione
|
|
code --version
|
|
```
|
|
|
|
### Metodo 2: Repository Microsoft Ufficiale (Raccomandato - Più Controllo)
|
|
```bash
|
|
# 1. Aggiorna il sistema
|
|
sudo apt update && sudo apt upgrade -y
|
|
|
|
# 2. Installa prerequisiti
|
|
sudo apt install -y wget gpg software-properties-common apt-transport-https
|
|
|
|
# 3. Aggiungi la chiave GPG di Microsoft
|
|
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
|
|
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
|
|
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
|
|
|
|
# 4. Aggiorna i repository e installa VS Code
|
|
sudo apt update
|
|
sudo apt install -y code
|
|
|
|
# 5. Verifica installazione
|
|
code --version
|
|
```
|
|
|
|
### Metodo 3: Download .deb Package Diretto
|
|
```bash
|
|
# 1. Download del pacchetto .deb
|
|
cd /tmp
|
|
wget https://code.visualstudio.com/sha/download?build=stable&os=linux-deb-x64 -O vscode.deb
|
|
|
|
# 2. Installazione
|
|
sudo dpkg -i vscode.deb
|
|
|
|
# 3. Risolvi eventuali dipendenze mancanti
|
|
sudo apt-get install -f
|
|
|
|
# 4. Verifica installazione
|
|
code --version
|
|
```
|
|
|
|
## 🔧 Configurazione Post-Installazione
|
|
|
|
### 1. Avvio da Terminale
|
|
```bash
|
|
# Avvia VS Code
|
|
code
|
|
|
|
# Avvia VS Code in una cartella specifica
|
|
code /path/to/your/project
|
|
|
|
# Avvia VS Code con privilegi sudo (se necessario)
|
|
sudo code --user-data-dir="/tmp/vscode-root"
|
|
```
|
|
|
|
### 2. Creazione Collegamento Desktop
|
|
```bash
|
|
# Crea collegamento sul desktop (se non creato automaticamente)
|
|
cat > ~/Desktop/vscode.desktop << EOF
|
|
[Desktop Entry]
|
|
Version=1.0
|
|
Type=Application
|
|
Name=Visual Studio Code
|
|
Comment=Code Editing. Redefined.
|
|
Exec=/usr/bin/code
|
|
Icon=vscode
|
|
Terminal=false
|
|
Categories=Development;IDE;
|
|
MimeType=text/plain;application/x-code-workspace;
|
|
EOF
|
|
|
|
# Rendi il collegamento eseguibile
|
|
chmod +x ~/Desktop/vscode.desktop
|
|
```
|
|
|
|
### 3. Configurazione per Accesso Remoto SSH
|
|
```bash
|
|
# Installa estensione Remote SSH (da fare dentro VS Code)
|
|
# Extensions -> Cerca "Remote - SSH" -> Installa
|
|
|
|
# Oppure da terminale:
|
|
code --install-extension ms-vscode-remote.remote-ssh
|
|
```
|
|
|
|
## 🎯 Estensioni Consigliate per NetGescon
|
|
|
|
### Estensioni PHP/Laravel Essenziali
|
|
```bash
|
|
# Installa estensioni via comando
|
|
code --install-extension bmewburn.vscode-intelephense-client
|
|
code --install-extension onecentlin.laravel5-snippets
|
|
code --install-extension onecentlin.laravel-blade
|
|
code --install-extension ryannaddy.laravel-artisan
|
|
code --install-extension codingyu.laravel-goto-view
|
|
```
|
|
|
|
### Estensioni Sviluppo Web
|
|
```bash
|
|
code --install-extension ms-vscode.vscode-json
|
|
code --install-extension bradlc.vscode-tailwindcss
|
|
code --install-extension formulahendry.auto-rename-tag
|
|
code --install-extension christian-kohler.path-intellisense
|
|
code --install-extension streetsidesoftware.code-spell-checker
|
|
```
|
|
|
|
### Estensioni Git e Collaborazione
|
|
```bash
|
|
code --install-extension eamodio.gitlens
|
|
code --install-extension mhutchie.git-graph
|
|
code --install-extension ms-vscode.vscode-git-commit-template
|
|
```
|
|
|
|
## 🔐 Configurazione per Accesso Remoto
|
|
|
|
### 1. Configurazione SSH Server (su VM)
|
|
```bash
|
|
# Installa e configura SSH server
|
|
sudo apt install -y openssh-server
|
|
|
|
# Abilita e avvia SSH
|
|
sudo systemctl enable ssh
|
|
sudo systemctl start ssh
|
|
|
|
# Verifica stato
|
|
sudo systemctl status ssh
|
|
|
|
# Configura firewall
|
|
sudo ufw allow ssh
|
|
sudo ufw enable
|
|
```
|
|
|
|
### 2. Configurazione VS Code Remote
|
|
```bash
|
|
# Sul tuo PC Windows, aggiungi configurazione SSH
|
|
# File: ~/.ssh/config (o C:\Users\YourName\.ssh\config su Windows)
|
|
|
|
Host netgescon-master
|
|
HostName IP_DELLA_VM
|
|
User your_ubuntu_username
|
|
Port 22
|
|
ForwardAgent yes
|
|
```
|
|
|
|
## 🎨 Configurazione Tema e Interfaccia
|
|
|
|
### 1. Installazione Temi Popolari
|
|
```bash
|
|
# Tema scuro professionale
|
|
code --install-extension zhuangtongfa.Material-theme
|
|
|
|
# Tema icon pack
|
|
code --install-extension PKief.material-icon-theme
|
|
|
|
# Font ligatures (opzionale)
|
|
code --install-extension tonsky.fira-code
|
|
```
|
|
|
|
### 2. Configurazione settings.json
|
|
```json
|
|
{
|
|
"workbench.colorTheme": "Material Theme Darker High Contrast",
|
|
"workbench.iconTheme": "material-icon-theme",
|
|
"editor.fontFamily": "'Fira Code', 'Courier New', monospace",
|
|
"editor.fontLigatures": true,
|
|
"editor.fontSize": 14,
|
|
"editor.tabSize": 4,
|
|
"editor.insertSpaces": true,
|
|
"files.autoSave": "afterDelay",
|
|
"files.autoSaveDelay": 1000,
|
|
"terminal.integrated.fontSize": 12,
|
|
"php.suggest.basic": false,
|
|
"intelephense.files.maxSize": 5000000,
|
|
"blade.format.enable": true
|
|
}
|
|
```
|
|
|
|
## 🚀 Test Installazione Completa
|
|
|
|
### Script di Test
|
|
```bash
|
|
#!/bin/bash
|
|
# test-vscode-installation.sh
|
|
|
|
echo "🧪 Test Installazione Visual Studio Code"
|
|
echo "======================================="
|
|
|
|
# Test 1: Verifica VS Code installato
|
|
if command -v code &> /dev/null; then
|
|
echo "✅ VS Code installato correttamente"
|
|
echo "📍 Versione: $(code --version | head -n1)"
|
|
else
|
|
echo "❌ VS Code non trovato"
|
|
exit 1
|
|
fi
|
|
|
|
# Test 2: Verifica estensioni PHP
|
|
echo "🔍 Verifica estensioni PHP..."
|
|
code --list-extensions | grep -i php > /dev/null
|
|
if [ $? -eq 0 ]; then
|
|
echo "✅ Estensioni PHP trovate"
|
|
else
|
|
echo "⚠️ Estensioni PHP non installate"
|
|
fi
|
|
|
|
# Test 3: Test apertura progetto
|
|
echo "🚀 Test apertura progetto NetGescon..."
|
|
if [ -d "/var/www/netgescon" ]; then
|
|
echo "✅ Directory NetGescon trovata"
|
|
# code /var/www/netgescon --wait &
|
|
echo "✅ VS Code può aprire il progetto"
|
|
else
|
|
echo "⚠️ Directory NetGescon non ancora presente"
|
|
fi
|
|
|
|
echo "======================================="
|
|
echo "🎉 Test completato!"
|
|
```
|
|
|
|
## 🔧 Troubleshooting Comuni
|
|
|
|
### Problema: VS Code non si avvia
|
|
```bash
|
|
# Verifica dipendenze
|
|
sudo apt update
|
|
sudo apt install -y libnss3 libgconf-2-4 libxi6 libxrandr2 libxss1 libgconf2-dev libxss-dev libasound2-dev
|
|
|
|
# Reset configurazione
|
|
rm -rf ~/.config/Code
|
|
rm -rf ~/.vscode
|
|
```
|
|
|
|
### Problema: Estensioni non funzionano
|
|
```bash
|
|
# Reinstalla estensioni
|
|
code --uninstall-extension EXTENSION_ID
|
|
code --install-extension EXTENSION_ID
|
|
|
|
# Oppure reset completo estensioni
|
|
rm -rf ~/.vscode/extensions
|
|
```
|
|
|
|
### Problema: SSH Remote non funziona
|
|
```bash
|
|
# Verifica SSH server
|
|
sudo systemctl status ssh
|
|
|
|
# Riavvia SSH server
|
|
sudo systemctl restart ssh
|
|
|
|
# Verifica firewall
|
|
sudo ufw status
|
|
sudo ufw allow 22
|
|
```
|
|
|
|
## 📱 Accesso da Windows
|
|
|
|
### VS Code su Windows con Remote SSH
|
|
1. **Installa VS Code su Windows** (se non già installato)
|
|
2. **Installa estensione Remote-SSH**
|
|
3. **Configura connessione SSH** alla VM Ubuntu
|
|
4. **Connetti e sviluppa direttamente sulla VM**
|
|
|
|
### Configurazione SSH da Windows
|
|
```powershell
|
|
# PowerShell su Windows
|
|
# Genera chiave SSH (se non presente)
|
|
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
|
|
|
|
# Copia chiave pubblica sulla VM
|
|
scp ~/.ssh/id_rsa.pub username@VM_IP:~/.ssh/authorized_keys
|
|
```
|
|
|
|
## ✅ Checklist Post-Installazione
|
|
|
|
- [ ] VS Code installato e funzionante
|
|
- [ ] Estensioni PHP/Laravel installate
|
|
- [ ] Configurazione SSH server attiva
|
|
- [ ] Test connessione remota OK
|
|
- [ ] Temi e font configurati
|
|
- [ ] Settings.json configurato per PHP/Laravel
|
|
- [ ] Test apertura progetto NetGescon OK
|
|
- [ ] Backup configurazione VS Code
|
|
|
|
## 🎯 Prossimi Step dopo Installazione
|
|
|
|
1. **Installa NetGescon** con lo script setup-netgescon-ubuntu2404.sh
|
|
2. **Configura Git** per il versioning
|
|
3. **Imposta backup automatici** della configurazione VS Code
|
|
4. **Testa workflow** di sviluppo completo
|
|
|
|
---
|
|
|
|
📚 **Documentazione Aggiuntiva:**
|
|
- [VS Code Linux Setup](https://code.visualstudio.com/docs/setup/linux)
|
|
- [Remote SSH Extension](https://code.visualstudio.com/docs/remote/ssh)
|
|
- [PHP Development in VS Code](https://code.visualstudio.com/docs/languages/php)
|