====== Codium, VsCodium, VsCode ======
===== Develop in Containers with VSCodium =====
C'est une méthode nécessaire pour ne pas avoir à installer toutes les versions des outils sur notre machine quand on peut avoir à travailler sur différents projets (nouveaux comme anciens) au cours d'une journée.
Microsoft fourni l'extension propriétaire "devcontainer" pour Code qui n'est pas disponible pour Codium. Elle permet d'ouvrir un projet dans un container et d'utiliser les outils qu'il contient, comme la bonne version de Php.
Voyons comment faire avec Codium
* [[https://gist.github.com/a-l-e-c/95751551ae8fa2f2df1412a3ce9901bb|VSCodium using PHP Interpreter within Docker]] de configurer Codium pour qu'il utilise le Php du container pour ''php.validate.executablePath'' et ''php.debug.executablePath'' ainsi que ''run PHP, debug with Xdebug & test with PHPUnit''
* [[https://howtos.davidsebek.com/vscodium-containers.html|Develop in Containers with VSCodium]] (2023) : David Sebek présente comment utiliser l'extension Open Remote SSH avec Codium. Il utilise [[/informatique/podman|podman]] au lieu de [[/informatique/docker|docker]].
* [[https://codeburst.io/direct-connection-to-a-docker-container-with-ssh-56e1d2744ee5|Direct connection to a docker container with SSH]]
==== Laravel ====
[[informatique:php:laravel_1|/informatique/php/laravel]]
Avec ''sail'' (docker compose) :
Ajouter openssh-server Dans le ''Dockerfile'' :
RUN apt-get install -y openssh-server
RUN mkdir /home/sail/.ssh
COPY authorized_keys /home/sail/.ssh/authorized_keys
RUN chmod -R go= /home/sail/.ssh
RUN chown -R sail /home/sail/.ssh
À la fin du fichier ''start-container'' on lance le serveur ssh :
...
else
service ssh start
exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf
fi
Puis on rebuild l'image avec sail:
./sail build
Dans le docker-compose.yml on expose le port:
services:
laravel.test:
ports:
- '${FORWARD_SSH_PORT:-22}:22'
et pour permettre de conserver les extensions installées, on montre un dossier local ''.vscodium-server'' :
services:
laravel.test:
volumes:
- '.vscodium-server:/home/sail/.vscodium-server'
Pour lancer ''npm run dev'' depuis un terminal dans codium sans avoir d'erreur CORS il faut modifier le script ''dev'' dans le ''package.json'' :
{
"scripts": {
"dev": "vite --host"
},
===== Extensions =====
==== Php ====
=== Intelephense ===
* Php Intelephense [[https://github.com/bmewburn/vscode-intelephense|bmewburn/vscode-intelephense]]
* Plus de fonctionnalités avec la licence premium https://intelephense.com/
* documentation incomplète et non suivie https://github.com/bmewburn/intelephense-docs
* docblock syntax can be found in [[https://github.com/bmewburn/vscode-intelephense/blob/master/CHANGELOG.md|CHANGELOG]]
* IntelliSense par [[https://github.com/felixfbecker/vscode-php-intellisense|felixfbecker/vscode-php-intellisense]] updated 5 years ago 👴🏻
== @disregard ==
Annotation to ignore diagnostics/problems on statement level:
/** @disregard [OPTIONAL CODE] [OPTIONAL DESCRIPTION] */
/** @disregard P1013 method exists on runtime type */
=== Builting ===
* PHP Language Features (built-in)