@@ -19,53 +19,53 @@ export class PythonV2DebugConfigurationProvider extends BaseConfigurationProvide
19
19
super . provideLaunchDefaults ( workspaceFolder , debugConfiguration ) ;
20
20
const debugOptions = debugConfiguration . debugOptions ! ;
21
21
if ( debugConfiguration . debugStdLib ) {
22
- debugOptions . push ( DebugOptions . DebugStdLib ) ;
22
+ this . debugOption ( debugOptions , DebugOptions . DebugStdLib ) ;
23
23
}
24
24
if ( debugConfiguration . django ) {
25
- debugOptions . push ( DebugOptions . Django ) ;
25
+ this . debugOption ( debugOptions , DebugOptions . Django ) ;
26
26
}
27
27
if ( debugConfiguration . jinja ) {
28
- debugOptions . push ( DebugOptions . Jinja ) ;
28
+ this . debugOption ( debugOptions , DebugOptions . Jinja ) ;
29
29
}
30
30
if ( debugConfiguration . redirectOutput || debugConfiguration . redirectOutput === undefined ) {
31
- debugOptions . push ( DebugOptions . RedirectOutput ) ;
31
+ this . debugOption ( debugOptions , DebugOptions . RedirectOutput ) ;
32
32
}
33
33
if ( debugConfiguration . sudo ) {
34
- debugOptions . push ( DebugOptions . Sudo ) ;
34
+ this . debugOption ( debugOptions , DebugOptions . Sudo ) ;
35
35
}
36
36
if ( this . serviceContainer . get < IPlatformService > ( IPlatformService ) . isWindows ) {
37
- debugOptions . push ( DebugOptions . FixFilePathCase ) ;
37
+ this . debugOption ( debugOptions , DebugOptions . FixFilePathCase ) ;
38
38
}
39
39
if ( debugConfiguration . module && debugConfiguration . module . toUpperCase ( ) === 'FLASK'
40
40
&& debugOptions . indexOf ( DebugOptions . Jinja ) === - 1
41
41
&& debugConfiguration . jinja !== false ) {
42
- debugOptions . push ( DebugOptions . Jinja ) ;
42
+ this . debugOption ( debugOptions , DebugOptions . Jinja ) ;
43
43
}
44
44
}
45
45
protected provideAttachDefaults ( workspaceFolder : Uri , debugConfiguration : PythonAttachDebugConfiguration < AttachRequestArguments > ) : void {
46
46
super . provideAttachDefaults ( workspaceFolder , debugConfiguration ) ;
47
47
const debugOptions = debugConfiguration . debugOptions ! ;
48
48
if ( debugConfiguration . debugStdLib ) {
49
- debugOptions . push ( DebugOptions . DebugStdLib ) ;
49
+ this . debugOption ( debugOptions , DebugOptions . DebugStdLib ) ;
50
50
}
51
51
if ( debugConfiguration . django ) {
52
- debugOptions . push ( DebugOptions . Django ) ;
52
+ this . debugOption ( debugOptions , DebugOptions . Django ) ;
53
53
}
54
54
if ( debugConfiguration . jinja ) {
55
- debugOptions . push ( DebugOptions . Jinja ) ;
55
+ this . debugOption ( debugOptions , DebugOptions . Jinja ) ;
56
56
}
57
57
if ( debugConfiguration . redirectOutput || debugConfiguration . redirectOutput === undefined ) {
58
- debugOptions . push ( DebugOptions . RedirectOutput ) ;
58
+ this . debugOption ( debugOptions , DebugOptions . RedirectOutput ) ;
59
59
}
60
60
61
61
// We'll need paths to be fixed only in the case where local and remote hosts are the same
62
62
// I.e. only if hostName === 'localhost' or '127.0.0.1' or ''
63
63
const isLocalHost = ! debugConfiguration . host || debugConfiguration . host === 'localhost' || debugConfiguration . host === '127.0.0.1' ;
64
64
if ( this . serviceContainer . get < IPlatformService > ( IPlatformService ) . isWindows && isLocalHost ) {
65
- debugOptions . push ( DebugOptions . FixFilePathCase ) ;
65
+ this . debugOption ( debugOptions , DebugOptions . FixFilePathCase ) ;
66
66
}
67
67
if ( this . serviceContainer . get < IPlatformService > ( IPlatformService ) . isWindows ) {
68
- debugOptions . push ( DebugOptions . WindowsClient ) ;
68
+ this . debugOption ( debugOptions , DebugOptions . WindowsClient ) ;
69
69
}
70
70
71
71
if ( ! debugConfiguration . pathMappings ) {
@@ -78,4 +78,10 @@ export class PythonV2DebugConfigurationProvider extends BaseConfigurationProvide
78
78
} ) ;
79
79
}
80
80
}
81
+ private debugOption ( debugOptions : DebugOptions [ ] , debugOption : DebugOptions ) {
82
+ if ( debugOptions . indexOf ( debugOption ) >= 0 ) {
83
+ return ;
84
+ }
85
+ debugOptions . push ( debugOption ) ;
86
+ }
81
87
}
0 commit comments