Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKevin Barnes2004-11-19 22:33:10 +0000
committerKevin Barnes2004-11-19 22:33:10 +0000
commitcf8c9e096b54e4b591a39f159730c2fe5a11a64f (patch)
tree31f9a7b3f24f35d06319f01fe51a6f892f4e164d /org.eclipse.debug.ui
parent22d994b14065ad0dc2624cafcc5d947a26ba9909 (diff)
downloadeclipse.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')
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/launchConfigurations/LaunchConfigurationsMessages.properties2
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ConsoleMessages.properties1
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/internal/ui/views/console/ProcessConsole.java26
-rw-r--r--org.eclipse.debug.ui/ui/org/eclipse/debug/ui/CommonTab.java22
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()) {

Back to the top