SlideShare a Scribd company logo
INTO THE BOX 2024
THE NEW ERA OF
MODERN
DEVELOPMENT
BLUE ROOM
PRESENTED BY
SPEAKER NAME
BoxLang Developer Tooling
Jacob Beers
SPEAKER IN ITB 2024
Jacob is a Senior Developer at Ortus Solutions, Corp. While he has been working as a
programmer for the past 10 years he never intended to make a career out of it. His professional
journey thus far has been marked by a diverse set of pursuits including 3d animation, game
design, fine art, special education, and operating a survival swim school. He likes to think his
unusual combination of experiences provides him with a unique and pragmatic approach to
software development.
Relatable Facts
● Senior Developer at Ortus
● Likes the band CAKE
● Wife and 3 kids
● Credited with “special thanks” on
an official “Dora the Explorer
Video Game”
INTO THE BOX 2024
Disclaimer
🤞
INTO THE BOX 2024
Our Goals
● Provide a first-party supported extension for VSCode
● Adhere to the latest standards (LSP, DAP)
● Learn from others and implement their features in a way that
makes sense for BoxLang
○ TypeScript - fantastic intellisense
○ Java - great automated test integration
○ Gradle - helpful GUI for executing tasks
vscode-cfml
INTO THE BOX 2024
Prior Art
● Maintainer: KamasamaK (https://github.com/KamasamaK)
● The original
cfmleditor
● Maintainer: Gareth Edwards (https://github.com/garethedwards-tass)
● What we forked
INTO THE BOX 2024
Installation
Install it like any other VSCode
extension
● Open VSCode
● View > Extensions
● Type “BoxLang” in the search bar
● Install!
INTO THE BOX 2024
Feature Set - What’s in the box?
IDE Tools Debugger LSP
INTO THE BOX 2024
Feature Set - IDE Features
IDE Tools
● Powered by BoxLang
● Running a file
○ script execution (.bxs)
○ class with main function (.bx)
● Running a webserver
● Internal tools - AST / Transpilation
● boxlang.json completion
INTO THE BOX 2024
Feature Set - Debugger
Debugger
● Debug Targets
○ CLI scripts
○ Local webserver
○ Remote webserver
● Implements *most of the DAP
●Official page for Debug Adapter Protocol (microsoft.github.io)
INTO THE BOX 2024
How the Debugger Works
The BoxLang Debugger
is heavily based on the
com.sun.jdi package.
We instantiate and configure JDI
classes to do our bidding and
provide us information about
BoxLang while it is running.
The JDI also gives us the ability
to control the state of BoxLang
apps while they run.
INTO THE BOX 2024
How does com.sun.jdi work?
JPDA - Java(tm) Platform Debugger Architecture
(oracle.com)
JVMTI - JVM(TM) Tool Interface 17.0.0 (oracle.com)
Debugger attachment strategies -
VirtualMachineManager (Java SE 17 & JDK 17)
(oracle.com)
JDI - com.sun.jdi (Java SE 17 & JDK 17)
(oracle.com)
JPDA
JDI
JVMTI
JDWP
BoxLang Debugger
INTO THE BOX 2024
Feature Set - What’s in the box?
LSP
● Speaks fluent BLAST and LSP!
○ Official page for Language Server Protocol (microsoft.github.io)
● The compiler and runtime share their
knowledge with the extension
● Code Formatting
● Diagnostic information (syntax, logic,
etc.)
● Code outline
INTO THE BOX 2024
How the LSP Works
VSCode
textdocument/definition
Language Server
Developer ctrl + right-clicks
a function invocation
Display information in IDE
INTO THE BOX 2024
The Future
● Language Server
○ Improved inline documentation
○ Type hinting
○ Configuration awareness,
datasources, mappings, etc…
○ Module support!
● Debugger
○ Communication with LSP
○ Advanced Java integration
○ Advanced execution state
management
● Extension Tools
○ Server management
○ Refactoring help
INTO THE BOX 2024
The Future
Community
● Join our slack channel
● Install the extension
○ Tell me what is broken
○ Tell me what you want to see
● Write Code! Send pull requests!
○ github.com/ortus-boxlang/vscode-boxlang
○ github.com/ortus-boxlang/boxlang-lsp
○ github.com/ortus-boxlang/BoxLang
(debugger)
INTO THE BOX 2024
THANK YOU TO OUR
SPONSORS
INTO THE BOX 2024

More Related Content

PDF
Oh the compilers you'll build
PPTX
Docs as Code: Publishing Processes for API Experiences
PDF
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
PPTX
Flutter talkshow
PPTX
Pair-Programming with AI to achieve more efficient code in .NET
PPTX
CDK - The next big thing - Quang Phuong
PDF
Using Clojure, NoSQL Databases and Functional-Style JavaScript to Write Gext-...
PDF
Run your code serverlessly on Google's open cloud
Oh the compilers you'll build
Docs as Code: Publishing Processes for API Experiences
[KubeCon NA 2018] Effective Kubernetes Develop: Turbocharge Your Dev Loop - P...
Flutter talkshow
Pair-Programming with AI to achieve more efficient code in .NET
CDK - The next big thing - Quang Phuong
Using Clojure, NoSQL Databases and Functional-Style JavaScript to Write Gext-...
Run your code serverlessly on Google's open cloud

Similar to BoxLang Developer Tooling: VSCode Extension and Debugger (20)

PPSX
Global Windows Azure Bootcamp : Samuel et Emilien Pécoul, Florent Pelet Legac...
PDF
React Native? A developer's perspective
PPTX
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
PDF
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
PDF
Container Days
PDF
cadec-2017-golang
PDF
Building an E-commerce website in MEAN stack
DOCX
Dusty Parrott Resume
PDF
Cross-Platform Native Apps in Java (budapest.mobile)
PPTX
GWAB Lyon - Legacy code atelier
PPTX
Jfokus_Bringing the cloud back down to earth.pptx
PDF
Powerful Google developer tools for immediate impact! (2023-24 C)
PDF
INTERFACE, by apidays - Crossing the low-code and pro-code chasm: a platform...
PDF
Crossing the low-code and pro-code chasm: a platform approach
PPTX
FooConf23_Bringing the cloud back down to earth.pptx
PDF
s2c-prototypical-the-emergence-of-fpga-based-prototyping-for-soc-design.pdf
PPTX
DSC NTUE Info Session
PPTX
Using Multi-stage Docker, Go, Java,& Bazel to DESTROY Long Build Times
PDF
DIY: Computer Vision with GWT.
PDF
DIY- computer vision with GWT
Global Windows Azure Bootcamp : Samuel et Emilien Pécoul, Florent Pelet Legac...
React Native? A developer's perspective
PittsburgJUG_Cloud-Native Dev Tools: Bringing the cloud back to earth
ContainerDays NYC 2015: "Easing Your Way Into Docker: Lessons From a Journey ...
Container Days
cadec-2017-golang
Building an E-commerce website in MEAN stack
Dusty Parrott Resume
Cross-Platform Native Apps in Java (budapest.mobile)
GWAB Lyon - Legacy code atelier
Jfokus_Bringing the cloud back down to earth.pptx
Powerful Google developer tools for immediate impact! (2023-24 C)
INTERFACE, by apidays - Crossing the low-code and pro-code chasm: a platform...
Crossing the low-code and pro-code chasm: a platform approach
FooConf23_Bringing the cloud back down to earth.pptx
s2c-prototypical-the-emergence-of-fpga-based-prototyping-for-soc-design.pdf
DSC NTUE Info Session
Using Multi-stage Docker, Go, Java,& Bazel to DESTROY Long Build Times
DIY: Computer Vision with GWT.
DIY- computer vision with GWT
Ad

More from Ortus Solutions, Corp (20)

PDF
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
PDF
June Webinar: BoxLang-Dynamic-AWS-Lambda
PDF
BoxLang-Dynamic-AWS-Lambda by Luis Majano.pdf
PDF
What's-New-with-BoxLang-Brad Wood.pptx.pdf
PDF
Getting Started with BoxLang - CFCamp 2025.pdf
PDF
CFCamp2025 - Keynote Day 1 led by Luis Majano.pdf
PDF
What's New with BoxLang Led by Brad Wood.pdf
PDF
Vector Databases and the BoxLangCFML Developer.pdf
PDF
Using cbSSO in a ColdBox App Led by Jacob Beers.pdf
PDF
Use JSON to Slash Your Database Performance.pdf
PDF
Portable CI wGitLab and Github led by Gavin Pickin.pdf
PDF
Tame the Mesh An intro to cross-platform tracing and troubleshooting.pdf
PDF
Supercharging CommandBox with Let's Encrypt.pdf
PDF
Spice up your site with cool animations using GSAP..pdf
PDF
Passkeys and cbSecurity Led by Eric Peterson.pdf
PDF
Legacy Code Nightmares , Hellscapes, and Lessons Learned.pdf
PDF
Integrating the OpenAI API in Your Coldfusion Apps.pdf
PDF
Hidden Gems in FusionReactor for BoxLang, ACF, and Lucee Users.pdf
PDF
Geting-started with BoxLang Led By Raymon Camden.pdf
PDF
From Zero to CRUD with ORM - Led by Annette Liskey.pdf
TheFutureIsDynamic-BoxLang witch Luis Majano.pdf
June Webinar: BoxLang-Dynamic-AWS-Lambda
BoxLang-Dynamic-AWS-Lambda by Luis Majano.pdf
What's-New-with-BoxLang-Brad Wood.pptx.pdf
Getting Started with BoxLang - CFCamp 2025.pdf
CFCamp2025 - Keynote Day 1 led by Luis Majano.pdf
What's New with BoxLang Led by Brad Wood.pdf
Vector Databases and the BoxLangCFML Developer.pdf
Using cbSSO in a ColdBox App Led by Jacob Beers.pdf
Use JSON to Slash Your Database Performance.pdf
Portable CI wGitLab and Github led by Gavin Pickin.pdf
Tame the Mesh An intro to cross-platform tracing and troubleshooting.pdf
Supercharging CommandBox with Let's Encrypt.pdf
Spice up your site with cool animations using GSAP..pdf
Passkeys and cbSecurity Led by Eric Peterson.pdf
Legacy Code Nightmares , Hellscapes, and Lessons Learned.pdf
Integrating the OpenAI API in Your Coldfusion Apps.pdf
Hidden Gems in FusionReactor for BoxLang, ACF, and Lucee Users.pdf
Geting-started with BoxLang Led By Raymon Camden.pdf
From Zero to CRUD with ORM - Led by Annette Liskey.pdf
Ad

Recently uploaded (20)

PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Nekopoi APK 2025 free lastest update
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Designing Intelligence for the Shop Floor.pdf
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
PDF
Digital Systems & Binary Numbers (comprehensive )
PPTX
Transform Your Business with a Software ERP System
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Advanced SystemCare Ultimate Crack + Portable (2025)
PDF
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
Wondershare Filmora 15 Crack With Activation Key [2025
Nekopoi APK 2025 free lastest update
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Navsoft: AI-Powered Business Solutions & Custom Software Development
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Designing Intelligence for the Shop Floor.pdf
Reimagine Home Health with the Power of Agentic AI​
iTop VPN Free 5.6.0.5262 Crack latest version 2025
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Digital Systems & Binary Numbers (comprehensive )
Transform Your Business with a Software ERP System
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
Why Generative AI is the Future of Content, Code & Creativity?
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Oracle Fusion HCM Cloud Demo for Beginners
Odoo Companies in India – Driving Business Transformation.pdf
Advanced SystemCare Ultimate Crack + Portable (2025)
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free

BoxLang Developer Tooling: VSCode Extension and Debugger

  • 1. INTO THE BOX 2024 THE NEW ERA OF MODERN DEVELOPMENT
  • 2. BLUE ROOM PRESENTED BY SPEAKER NAME BoxLang Developer Tooling
  • 3. Jacob Beers SPEAKER IN ITB 2024 Jacob is a Senior Developer at Ortus Solutions, Corp. While he has been working as a programmer for the past 10 years he never intended to make a career out of it. His professional journey thus far has been marked by a diverse set of pursuits including 3d animation, game design, fine art, special education, and operating a survival swim school. He likes to think his unusual combination of experiences provides him with a unique and pragmatic approach to software development. Relatable Facts ● Senior Developer at Ortus ● Likes the band CAKE ● Wife and 3 kids ● Credited with “special thanks” on an official “Dora the Explorer Video Game”
  • 4. INTO THE BOX 2024 Disclaimer 🤞
  • 5. INTO THE BOX 2024 Our Goals ● Provide a first-party supported extension for VSCode ● Adhere to the latest standards (LSP, DAP) ● Learn from others and implement their features in a way that makes sense for BoxLang ○ TypeScript - fantastic intellisense ○ Java - great automated test integration ○ Gradle - helpful GUI for executing tasks
  • 6. vscode-cfml INTO THE BOX 2024 Prior Art ● Maintainer: KamasamaK (https://github.com/KamasamaK) ● The original cfmleditor ● Maintainer: Gareth Edwards (https://github.com/garethedwards-tass) ● What we forked
  • 7. INTO THE BOX 2024 Installation Install it like any other VSCode extension ● Open VSCode ● View > Extensions ● Type “BoxLang” in the search bar ● Install!
  • 8. INTO THE BOX 2024 Feature Set - What’s in the box? IDE Tools Debugger LSP
  • 9. INTO THE BOX 2024 Feature Set - IDE Features IDE Tools ● Powered by BoxLang ● Running a file ○ script execution (.bxs) ○ class with main function (.bx) ● Running a webserver ● Internal tools - AST / Transpilation ● boxlang.json completion
  • 10. INTO THE BOX 2024 Feature Set - Debugger Debugger ● Debug Targets ○ CLI scripts ○ Local webserver ○ Remote webserver ● Implements *most of the DAP ●Official page for Debug Adapter Protocol (microsoft.github.io)
  • 11. INTO THE BOX 2024 How the Debugger Works The BoxLang Debugger is heavily based on the com.sun.jdi package. We instantiate and configure JDI classes to do our bidding and provide us information about BoxLang while it is running. The JDI also gives us the ability to control the state of BoxLang apps while they run.
  • 12. INTO THE BOX 2024 How does com.sun.jdi work? JPDA - Java(tm) Platform Debugger Architecture (oracle.com) JVMTI - JVM(TM) Tool Interface 17.0.0 (oracle.com) Debugger attachment strategies - VirtualMachineManager (Java SE 17 & JDK 17) (oracle.com) JDI - com.sun.jdi (Java SE 17 & JDK 17) (oracle.com) JPDA JDI JVMTI JDWP BoxLang Debugger
  • 13. INTO THE BOX 2024 Feature Set - What’s in the box? LSP ● Speaks fluent BLAST and LSP! ○ Official page for Language Server Protocol (microsoft.github.io) ● The compiler and runtime share their knowledge with the extension ● Code Formatting ● Diagnostic information (syntax, logic, etc.) ● Code outline
  • 14. INTO THE BOX 2024 How the LSP Works VSCode textdocument/definition Language Server Developer ctrl + right-clicks a function invocation Display information in IDE
  • 15. INTO THE BOX 2024 The Future ● Language Server ○ Improved inline documentation ○ Type hinting ○ Configuration awareness, datasources, mappings, etc… ○ Module support! ● Debugger ○ Communication with LSP ○ Advanced Java integration ○ Advanced execution state management ● Extension Tools ○ Server management ○ Refactoring help
  • 16. INTO THE BOX 2024 The Future Community ● Join our slack channel ● Install the extension ○ Tell me what is broken ○ Tell me what you want to see ● Write Code! Send pull requests! ○ github.com/ortus-boxlang/vscode-boxlang ○ github.com/ortus-boxlang/boxlang-lsp ○ github.com/ortus-boxlang/BoxLang (debugger)
  • 17. INTO THE BOX 2024 THANK YOU TO OUR SPONSORS INTO THE BOX 2024