# Setup NextJS debug on VSCode Windows + MS Edge

Damn, I got stucked when following [NextJS recommendation](https://nextjs.org/docs/pages/building-your-application/configuring/debugging#debugging-with-vs-code), because it only work on UNIX-like system which have shell that can run `.sh` file. Totally bullshit.

This instruction prefer Bun, because it is Typescript native and spin up dev quick. You can choose NPM or Yarn, or PNPM as your favorite package manager.

After some conversation with Claude, I figure it out by edit the `program` part of `Next.js: debug full stack` to direct `next` executable.

This is `.vscode/launch.json` code for lazy person:
```json
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Next.js: debug server-side",
      "type": "node-terminal",
      "request": "launch",
      "command": "bun dev"
    },
    {
      "name": "Next.js: debug client-side",
      "type": "msedge",
      "request": "launch",
      "url": "http://localhost:3000"
    },
    {
      "name": "Next.js: debug full stack",
      "type": "node",
      "request": "launch",
      "program": "${workspaceFolder}/node_modules/next/dist/bin/next",
      "args": [
        "dev"
      ],
      "runtimeArgs": [
        "--inspect"
      ],
      "skipFiles": [
        "<node_internals>/**"
      ],
      "serverReadyAction": {
        "action": "debugWithEdge",
        "killOnServerStop": true,
        "pattern": "- Local:\\s+(https?://\\S+)",
        "uriFormat": "%s",
        "webRoot": "${workspaceFolder}"
      },
      "env": {
        "NODE_OPTIONS": "--inspect"
      },
      "console": "internalConsole",
      // "outputCapture": "std"
    }
  ]
}
```


