Răsfoiți Sursa

feat: add basic support for debugging and working with devcontainer

For GitHub Codespaces e.g.
rugk 2 ani în urmă
părinte
comite
b2e4920aa2
3 a modificat fișierele cu 88 adăugiri și 0 ștergeri
  1. 46 0
      .devcontainer/devcontainer.json
  2. 7 0
      .vscode/extensions.json
  3. 35 0
      .vscode/launch.json

+ 46 - 0
.devcontainer/devcontainer.json

@@ -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 - 0
.vscode/extensions.json

@@ -0,0 +1,7 @@
+{
+    "recommendations": [
+        "recca0120.vscode-phpunit",
+        "onecentlin.phpunit-snippets",
+        "devsense.profiler-php-vscode"
+    ]
+}

+ 35 - 0
.vscode/launch.json

@@ -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
+        }
+    ]
+}