feat: add basic support for debugging and working with devcontainer
For GitHub Codespaces e.g.
This commit is contained in:
parent
48079483be
commit
b2e4920aa2
3 changed files with 88 additions and 0 deletions
46
.devcontainer/devcontainer.json
Normal file
46
.devcontainer/devcontainer.json
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
{
|
||||||
|
"name": "PHP",
|
||||||
|
"image": "mcr.microsoft.com/devcontainers/php",
|
||||||
|
"customizations": {
|
||||||
|
"vscode": {
|
||||||
|
"extensions": [
|
||||||
|
"github.codespaces",
|
||||||
|
// PHP from https://github.com/devcontainers/templates/tree/main/src/php
|
||||||
|
"xdebug.php-debug",
|
||||||
|
"bmewburn.vscode-intelephense-client",
|
||||||
|
"xdebug.php-pack",
|
||||||
|
// PHP
|
||||||
|
"DEVSENSE.phptools-vscode",
|
||||||
|
"DEVSENSE.composer-php-vscode",
|
||||||
|
// linting
|
||||||
|
"EditorConfig.EditorConfig",
|
||||||
|
"dbaeumer.vscode-eslint",
|
||||||
|
"raymondcamden.CSSLint",
|
||||||
|
// testing
|
||||||
|
"maty.vscode-mocha-sidebar"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"codespaces": {
|
||||||
|
"repositories": {
|
||||||
|
"PrivateBin/*": {
|
||||||
|
"permissions": {
|
||||||
|
"pull_requests": "write"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"features": {
|
||||||
|
"ghcr.io/devcontainers-contrib/features/mocha:2": {}
|
||||||
|
},
|
||||||
|
"forwardPorts": [
|
||||||
|
8080
|
||||||
|
],
|
||||||
|
"postCreateCommand": [
|
||||||
|
"composer install --no-dev --optimize-autoloader",
|
||||||
|
"sudo chmod a+x \"$(pwd)\" && sudo rm -rf /var/www/html && sudo ln -s \"$(pwd)\" /var/www/html",
|
||||||
|
"npm install --global nyc"
|
||||||
|
],
|
||||||
|
// alternatiuve: apache2ctl start (but requires root)
|
||||||
|
"postAttachCommand": "php -S 0.0.0.0:8080"
|
||||||
|
}
|
7
.vscode/extensions.json
vendored
Normal file
7
.vscode/extensions.json
vendored
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"recommendations": [
|
||||||
|
"recca0120.vscode-phpunit",
|
||||||
|
"onecentlin.phpunit-snippets",
|
||||||
|
"devsense.profiler-php-vscode"
|
||||||
|
]
|
||||||
|
}
|
35
.vscode/launch.json
vendored
Normal file
35
.vscode/launch.json
vendored
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
{
|
||||||
|
"version": "0.2.0",
|
||||||
|
"configurations": [
|
||||||
|
{
|
||||||
|
"name": "Launch built-in server and debug",
|
||||||
|
"type": "php",
|
||||||
|
"request": "launch",
|
||||||
|
"runtimeArgs": [
|
||||||
|
"-S",
|
||||||
|
"localhost:8000",
|
||||||
|
"-t",
|
||||||
|
"."
|
||||||
|
],
|
||||||
|
"port": 9003,
|
||||||
|
"serverReadyAction": {
|
||||||
|
"action": "openExternally"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Debug current script in console",
|
||||||
|
"type": "php",
|
||||||
|
"request": "launch",
|
||||||
|
"program": "${file}",
|
||||||
|
"cwd": "${fileDirname}",
|
||||||
|
"externalConsole": false,
|
||||||
|
"port": 9003
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Listen for Xdebug",
|
||||||
|
"type": "php",
|
||||||
|
"request": "launch",
|
||||||
|
"port": 9003
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in a new issue