this however only works for tasks such as the build task but has no effect on the debug panel.
The 'Debug Console' should be new text every session.
If you would like to redirect the terminal output to the Debug Console you can use the following properties for your launch.json file:
internalConsoleOptions
Controls when the internal debug console should open.
redirectOutput
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal",
"internalConsoleOptions": "openOnSessionStart",
"redirectOutput": true
}
]
Both of these used in tandem will open the 'Debug Console' instead of terminal and just provide the necessary output; though it still sends to terminal should you still want it:

Another option is to not use the terminal at all:
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "internalConsole",
}
]
Meaning, it does not send to (or use) your integrated terminal at all and only opens the Debug Console, which doesn't show any cd like statements or executable overhead and no previous history
Shorcuts (definitely not as user friendly):
Terminal: Relaunch Active Terminal
CommandId: workbench.action.terminal.relaunch
Terminal: Clear
CommandId: workbench.action.terminal.clear
These options don't answer the question "how to clear the terminal when debug starts", but options for those new to vscode to consider as alternatives. I'm not so sure they feel the terminal is appropriate for debugging, because we have a debug console and debug/run panel. The reason this can be complicated is because extensions use their own output channels for debugging. For example, the python uses a completely different terminal than say Code Runner. Same for javascript and then there is native support.