mirror of
https://github.com/arduino/arduino-ide.git
synced 2025-06-07 12:46:34 +00:00
[debugger] Don't allow running more than one debug session
This commit is contained in:
parent
879d5c7cc9
commit
2855026cec
@ -0,0 +1,14 @@
|
|||||||
|
import { DebugSessionManager } from "@theia/debug/lib/browser/debug-session-manager";
|
||||||
|
import { DebugSessionOptions } from "@theia/debug/lib/browser/debug-session-options";
|
||||||
|
|
||||||
|
export class ArduinoDebugSessionManager extends DebugSessionManager {
|
||||||
|
|
||||||
|
start(options: DebugSessionOptions) {
|
||||||
|
if (options.configuration.type === 'arduino' && this.sessions.find(s => s.configuration.type === 'arduino')) {
|
||||||
|
this.messageService.info('A debug session is already running. You must stop the running session before starting a new one.')
|
||||||
|
return Promise.resolve(undefined);
|
||||||
|
}
|
||||||
|
return super.start(options);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -1,14 +1,17 @@
|
|||||||
import { ContainerModule } from 'inversify';
|
import { ContainerModule } from 'inversify';
|
||||||
import { VariableContribution } from '@theia/variable-resolver/lib/browser';
|
import { VariableContribution } from '@theia/variable-resolver/lib/browser';
|
||||||
import { ArduinoVariableResolver } from './arduino-variable-resolver';
|
import { ArduinoVariableResolver } from './arduino-variable-resolver';
|
||||||
|
import { DebugSessionManager } from '@theia/debug/lib/browser/debug-session-manager';
|
||||||
import { DebugFrontendApplicationContribution } from '@theia/debug/lib/browser/debug-frontend-application-contribution';
|
import { DebugFrontendApplicationContribution } from '@theia/debug/lib/browser/debug-frontend-application-contribution';
|
||||||
import { DebugConfigurationManager } from '@theia/debug/lib/browser/debug-configuration-manager';
|
import { DebugConfigurationManager } from '@theia/debug/lib/browser/debug-configuration-manager';
|
||||||
import { ArduinoDebugConfigurationManager } from './arduino-debug-configuration-manager';
|
import { ArduinoDebugConfigurationManager } from './arduino-debug-configuration-manager';
|
||||||
import { ArduinoDebugFrontendApplicationContribution } from './arduino-debug-frontend-application-contribution';
|
import { ArduinoDebugFrontendApplicationContribution } from './arduino-debug-frontend-application-contribution';
|
||||||
|
import { ArduinoDebugSessionManager } from './arduino-debug-session-manager';
|
||||||
|
|
||||||
export default new ContainerModule((bind, unbind, isBound, rebind) => {
|
export default new ContainerModule((bind, unbind, isBound, rebind) => {
|
||||||
bind(ArduinoVariableResolver).toSelf().inSingletonScope();
|
bind(ArduinoVariableResolver).toSelf().inSingletonScope();
|
||||||
bind(VariableContribution).toService(ArduinoVariableResolver);
|
bind(VariableContribution).toService(ArduinoVariableResolver);
|
||||||
|
rebind(DebugSessionManager).to(ArduinoDebugSessionManager).inSingletonScope();
|
||||||
rebind(DebugConfigurationManager).to(ArduinoDebugConfigurationManager).inSingletonScope();
|
rebind(DebugConfigurationManager).to(ArduinoDebugConfigurationManager).inSingletonScope();
|
||||||
rebind(DebugFrontendApplicationContribution).to(ArduinoDebugFrontendApplicationContribution);
|
rebind(DebugFrontendApplicationContribution).to(ArduinoDebugFrontendApplicationContribution);
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user