diff options
author | Kevin Barnes | 2004-11-19 22:33:10 +0000 |
---|---|---|
committer | Kevin Barnes | 2004-11-19 22:33:10 +0000 |
commit | cf8c9e096b54e4b591a39f159730c2fe5a11a64f (patch) | |
tree | 31f9a7b3f24f35d06319f01fe51a6f892f4e164d /org.eclipse.debug.ui | |
parent | 22d994b14065ad0dc2624cafcc5d947a26ba9909 (diff) | |
download | eclipse.platform.debug-cf8c9e096b54e4b591a39f159730c2fe5a11a64f.tar.gz eclipse.platform.debug-cf8c9e096b54e4b591a39f159730c2fe5a11a64f.tar.xz eclipse.platform.debug-cf8c9e096b54e4b591a39f159730c2fe5a11a64f.zip |
Bug 23064 - RFE: Add option to redirect console output (stderr & stdout) to file
Diffstat (limited to 'org.eclipse.debug.ui')
4 files changed, 17 insertions, 34 deletions
diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties index 7ce6cd7c9..0735123be 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties @@ -26,7 +26,7 @@ CommonTab.4=Capture Output CommonTab.5=Co&nsole CommonTab.6=Fi&le: CommonTab.7=B&rowse... -CommonTab.8=Invalid file name for console output + CompileErrorPromptStatusHandler.0=Errors in Project CompileErrorPromptStatusHandler.1=Errors exist in a required project. Continue launch? diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.properties b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.properties index 0119221bc..5bdff7c22 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.properties +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.properties @@ -18,3 +18,4 @@ ConsoleTerminateAction.1=Terminate ProcessConsole.0=<terminated> {0} ProcessConsole.1=[Console output redirected to file:{0}]\n +ProcessConsole.2=[Invalid file specified for console output: {0}]\n diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java index 7312fb135..72b11f648 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java @@ -11,6 +11,7 @@ package org.eclipse.debug.internal.ui.views.console; import java.io.File; +import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.text.MessageFormat; @@ -110,27 +111,28 @@ public class ProcessConsole extends IOConsole implements IConsole, IDebugEventSe } if (file != null) { + String message = MessageFormat.format(ConsoleMessages.getString("ProcessConsole.1"), new String[] {file}); //$NON-NLS-1$ try { fOutput = new FileOutputStream(file); - } catch (IOException e) { + addPatternMatchListener(new ConsoleLogFilePatternMatcher(file)); + } catch (FileNotFoundException e) { DebugUIPlugin.log(e); + message = MessageFormat.format(ConsoleMessages.getString("ProcessConsole.2"), new String[] {file}); //$NON-NLS-1$ } - } - if (fOutput != null) { - IOConsoleOutputStream stream = newOutputStream(); - addPatternMatchListener(new ConsoleLogFilePatternMatcher(file)); - try { + try { + IOConsoleOutputStream stream = newOutputStream(); file = new File(file).getAbsolutePath(); - String message = MessageFormat.format(ConsoleMessages.getString("ProcessConsole.1"), new String[] {file}); //$NON-NLS-1$ + stream.write(message); stream.close(); } catch (IOException e) { + DebugUIPlugin.log(e); + } + + try { + fAllocateConsole = configuration.getAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, true); + } catch (CoreException e) { } - } - - try { - fAllocateConsole = configuration.getAttribute(IDebugUIConstants.ATTR_CAPTURE_IN_CONSOLE, true); - } catch (CoreException e) { } fColorProvider = colorProvider; diff --git a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java index 574b91afa..0cc8085cb 100644 --- a/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java +++ b/org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java @@ -20,12 +20,10 @@ import java.util.Map; import org.eclipse.core.resources.IContainer; import org.eclipse.core.resources.IFile; -import org.eclipse.core.resources.IResource; import org.eclipse.core.resources.IWorkspaceRoot; import org.eclipse.core.resources.ResourcesPlugin; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IPath; -import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Path; import org.eclipse.debug.core.DebugPlugin; import org.eclipse.debug.core.ILaunchConfiguration; @@ -262,14 +260,6 @@ public class CommonTab extends AbstractLaunchConfigurationTab { }); } - private boolean isValidFile(String file) { - IStatus status = ResourcesPlugin.getWorkspace().validatePath(file, IResource.FILE); - if (status.getCode() != IStatus.OK) { - return false; - } - return true; - } - protected void addEncodingBlock(Composite parent) { List allEncodings = IDEEncoding.getIDEEncodings(); String defaultEncoding = WorkbenchEncoding.getWorkbenchDefaultEncoding(); @@ -597,19 +587,9 @@ public class CommonTab extends AbstractLaunchConfigurationTab { setMessage(null); setErrorMessage(null); - return validateLocalShared() && validateConsoleOutputFile(); + return validateLocalShared(); } - private boolean validateConsoleOutputFile() { - if (fFileOutput.getSelection()) { - String file = fFileText.getText(); - if (!isValidFile(file)) { - setErrorMessage(LaunchConfigurationsMessages.getString("CommonTab.8")); //$NON-NLS-1$ - return false; - } - } - return true; - } private boolean validateLocalShared() { if (isShared()) { |