Blog

VS Code BoxLang Extension: Debugging BoxLang in CommandBox

Maria Jose Herrera September 26, 2024

Spread the word

Maria Jose Herrera

September 26, 2024

Spread the word


Share your thoughts

Debugging a CommandBox BoxLang Server

So you’ve installed CommandBox and are running the latest BoxLang server like a boss. You open up your browser and are met with an error message. This looks like a job for, you guessed it, the BoxLang VS Code Debugger!

Hooking VS Code Up To Your Server

Connecting your debugger to an external my seem intimidating but CommandBox + VS Code makes this pretty straightforward.

Configuring CommandBox

To start we will need to make sure our server is configured properly. You can do this one of two ways.

We can add JVMArgs to the CLI

server start cfengine=boxlang javaVersion=openjdk21_jdk JVMArgs='-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888'

The alternative approach is to add some configuration to our server.json.

{
  "JVM": {
    "args": "-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=8888",
    "javaVersion": "openjdk21_jdk"
  }
}

In these examples I’ve used port 8888 as the port we want the debugger to connect to control the CommandBox server through. You can specify whatever open port you want. You just need to make sure that you use the same one at every step.

Once you start your server it should run as normal.

Configuring VS Code

Now that your server is configured, we need to setup VS Code. We will need to update your .vscode/launch.json. If you don’t see this file, you can create it yourself and VS Code will pick it up.

We want the launch.json to look something like

{
  "configurations": [
    {
      "name": "Debug CommandBox",
      "type": "boxlang",
      "request": "attach",
       // make sure this is the same value you configured your server with            
      "serverPort": "8888"
    }
  ]
}

Starting a Debug Session

At this point your server is configured, it’s running, and you have just added a launch configuration. The next step is to run the debugger. All we need to do is open up the debug tab in our side-panel and select the correct configuration.

ContentBox

Now that we have everything setup all we need to do is press “play” or hit f5 and VS Code will fire up the BoxLang debugger and attach to your BoxLang server.

Conclusion

We’ve covered how easy it is to setup a BoxLang server and start debugging it with the BoxLang VS Code extension and CommandBox. Hopefully this will be a useful addition to your workflow.

Add Your Comment

Recent Entries

Into the Box 2025 Virtual Tickets Are Now LIVE!

Into the Box 2025 Virtual Tickets Are Now LIVE!

The wait is over! By popular demand, Into the Box 2025 virtual tickets are officially available! Secure your spot today and take advantage of our exclusive early bird pricing before it’s gone!

We’re bringing the community together to push the boundaries of modern development—because change starts with us. We’ve taken the first step, now it’s your turn to evolve and take action!

Maria Jose Herrera
Maria Jose Herrera
April 03, 2025
BoxLang 1.0.0 RC3 Has Landed!

BoxLang 1.0.0 RC3 Has Landed!

We are thrilled to announce the release of BoxLang 1.0.0-RC.3, marking a significant milestone in the development of our dynamic JVM language. This release brings a major performance boost and over 100 bug fixes and improvements, making it our most robust release to date. We are now entering the final stretch towards our full release on May 1st, and we need your help to ensure everything is in perfect shape. Please test your applications and report any issues.

Luis Majano
Luis Majano
April 03, 2025
Nearshoring for ColdFusion: Is this a good option for you and your organization?

Nearshoring for ColdFusion: Is this a good option for you and your organization?

Many companies face significant challenges when outsourcing ColdFusion development. Issues such as time zone mismatches, communication barriers, and cultural misalignment often result in project delays, inefficient collaboration, and unexpected costs. However, Nearshoring presents a strategic alternative that connects companies with highly skilled ColdFusion developers operating within your time zone, ensuring real-time collaboration, faster issue res...

Cristobal Escobar
Cristobal Escobar
April 02, 2025