'Adds a DebugSettings node to the user file for a particular config.
Args:
command: command line to run.  First element in the list is the
executable.  All elements of the command will be quoted if
necessary.
working_directory: other files which may trigger the rule. (optional)'

def AddDebugSettings(self, config_name, command, environment={}, working_directory=''):

    command = _QuoteWin32CommandLineArgs(command)
    abs_command = _FindCommandInPath(command[0])
    if (environment and isinstance(environment, dict)):
        env_list = [('%s="%s"' % (key, val)) for (key, val) in environment.iteritems()]
        environment = '    '.join(env_list)
    else:
        environment = ''
    n_cmd = ['DebugSettings', {'Command': abs_command, 'WorkingDirectory': working_directory, 'CommandArguments': '    '.join(command[1:]), 'RemoteMachine': socket.gethostname(), 'Environment': environment, 'EnvironmentMerge': 'true', 'Attach': 'false', 'DebuggerType': '3', 'Remote': '1', 'RemoteCommand': '', 'HttpUrl': '', 'PDBPath': '', 'SQLDebugging': '', 'DebuggerFlavor': '0', 'MPIRunCommand': '', 'MPIRunArguments': '', 'MPIRunWorkingDirectory': '', 'ApplicationCommand': '', 'ApplicationArguments': '', 'ShimCommand': '', 'MPIAcceptMode': '', 'MPIAcceptFilter': ''}]
    if (config_name not in self.configurations):
        self.AddConfig(config_name)
    self.configurations[config_name].append(n_cmd)
