LogoLogo
Official SiteAPI Reference
stable/3.0
stable/3.0
  • Cement Developer Guide
  • Release Information
    • What's New!
    • Upgrading
    • ChangeLog
    • Deprecations
  • Getting Started
    • Installation
    • Developer Tools
    • Framework Overview
    • Beginner Tutorial
      • Part 1: Creating Your First Project
      • Part 2: Adding Features
      • Part 3: Extending a Project
      • Part 4: Making Everything Legit
  • Core Foundation
    • Interfaces and Handlers
    • Hooks
    • Configuration Settings
    • Arguments
    • Logging
    • Controllers
    • Output Rendering
    • Caching
    • Mail Messaging
    • Framework Extensions
    • Application Plugins
    • Templating
  • Utilities
    • Filesystem
    • Shell
    • Miscellaneous
  • Extensions
    • Alarm
    • Argparse
    • Colorlog
    • ConfigParser
    • Daemon
    • Dummy
    • Generate
    • Jinja2
    • Json
    • Logging
    • Memcached
    • Mustache
    • Plugin
    • Print
    • Redis
    • Scrub
    • SMTP
    • Tabulate
    • Yaml
    • Watchdog
  • Additional Topics
    • Extending The App Object
    • Unit Testing
    • Cleanup
    • Signal Handling
    • Pipenv
    • Autocomplete
    • Profiling with cProfile
    • Debugging with VSCode
  • Environment Variables
  • Terminology
  • Contributing
  • Privacy Policy
Powered by GitBook
On this page
  1. Additional Topics

Debugging with VSCode

PreviousProfiling with cProfileNextEnvironment Variables

Last updated 6 months ago

The following documentation has been adding by , and has not yet been fully verified/tested. Replace <myapp> with the Python module name of your application.

The following are notes on how to setup debugging in VSCode for applications Built on Cement. It has been tested on Cement 3.x on Windows 11.

Implementation Steps

  • Run > Open Configurations

  • Run > Add Configurations

    • Select Python Debugger > Module > <myapp>.main

Modify the configuration code block to allow for arguments/options:

launch.json

"configurations": [
  {
    "name": "Python Debugger: Cement CLI Tool",
    "type": "debugpy",
    "request": "launch",
    "module": "<myapp>.main"
    "console": "integratedTerminal",
    "args": "${command:pickArgs}"
  }
]

The above configuration will prompt for arguments/options when Debug runs. An alternative approach might be to hard-code the arguments/options if you are frequently debugging a specific action and do not want to add it every time.

"args": [ "list", "-h" ]

community submission