下面列出了怎么用org.eclipse.ui.console.IConsoleManager的API类实例代码及写法,或者点击链接到github查看源代码。
private static void onNewConsole(IOConsole console) {
IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
// See if a console exists matching this one and remove it if it does,
// so that we don't have multiple of the same console (they would be identical anyway)
IConsole[] existingMCConsoles = consoleManager.getConsoles();
for (IConsole existingConsole : existingMCConsoles) {
if (existingConsole.getName().equals(console.getName())) {
consoleManager.removeConsoles(new IConsole[] { existingConsole } );
break;
}
}
Logger.log(String.format("Creating new application console: %s of type %s", //$NON-NLS-1$
console.getName(), console.getClass().getSimpleName()));
consoleManager.addConsoles(new IConsole[] { console });
}
@Override
public void log(final Object o) {
final IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager();
final BuilderStateConsole console = from(asList(manager.getConsoles())).filter(BuilderStateConsole.class)
.first()
.orNull();
if (console != null) {
if (o instanceof Throwable) {
console.println(getStackTraceAsString((Throwable) o));
} else {
console.println(String.valueOf(o));
}
manager.showConsoleView(console);
}
}
@Override
public Object execute ( final ExecutionEvent event ) throws ExecutionException
{
final List<IConsole> consoles = new ArrayList<IConsole> ();
for ( final Item item : SelectionHelper.iterable ( getSelection (), Item.class ) )
{
final IConsole console = createConsole ( item ).getConsole ();
if ( console != null )
{
consoles.add ( console );
}
}
final IConsoleManager cm = ConsolePlugin.getDefault ().getConsoleManager ();
if ( !consoles.isEmpty () )
{
cm.addConsoles ( consoles.toArray ( new IConsole[consoles.size ()] ) );
cm.showConsoleView ( consoles.get ( 0 ) );
}
return null;
}
@Override
public void log(Object obj) {
if (delegate != null) {
delegate.log(obj);
}
IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
XtextBuildConsole console = null;
for (IConsole c : consoleManager.getConsoles()) {
if (c instanceof XtextBuildConsole) {
console = (XtextBuildConsole) c;
break;
}
}
if (console != null) {
String str = null;
if (obj instanceof Throwable) {
str = Throwables.getStackTraceAsString((Throwable) obj);
} else {
str = obj.toString();
}
console.println("[" + Thread.currentThread().getName() + "] " + str);
consoleManager.showConsoleView(console);
}
}
public static FindBugsConsole showConsole() {
IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager();
boolean exists = false;
if (console != null) {
IConsole[] existing = manager.getConsoles();
for (int i = 0; i < existing.length; i++) {
if (console == existing[i]) {
exists = true;
}
}
} else {
console = new FindBugsConsole("SpotBugs",
FindbugsPlugin.getDefault().getImageDescriptor(AbstractFindbugsView.PERSPECTIVE_IMG), true);
}
if (!exists) {
manager.addConsoles(new IConsole[] { console });
}
ITheme theme = PlatformUI.getWorkbench().getThemeManager().getCurrentTheme();
theme.addPropertyChangeListener(console);
console.setConsoleFont();
manager.showConsoleView(console);
return console;
}
@Override
public void openConsole() {
console = getConsole();
if (console != null) {
IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager();
IConsole[] existing = manager.getConsoles();
boolean exists = false;
for (int i = 0; i < existing.length; i++) {
if(console == existing[i])
exists = true;
}
if(!exists)
manager.addConsoles(new IConsole[] {console});
manager.showConsoleView(console);
}
}
/**
* Fins the console with a given name
* @param name, name of the console
* @return
*/
private static IOConsole findConsole(String name)
{
if (name == null)
{
throw new IllegalArgumentException("Console name must be not null");
}
IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
IConsole[] existing = consoleManager.getConsoles();
// try to find existing
for (int i = 0; i < existing.length; i++)
{
if (name.equals(existing[i].getName()))
{
return (IOConsole) existing[i];
}
}
// no console found, create a new one
IOConsole myConsole = new IOConsole(name, null);
consoleManager.addConsoles(new IConsole[] { myConsole });
return myConsole;
}
/**
* Finds the console with a given name.
*
* @param name, name of the console
* @return
*/
private static MessageConsole findConsole(String name)
{
if (name == null)
{
throw new IllegalArgumentException("Console name must be not null");
}
IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
IConsole[] existing = consoleManager.getConsoles();
// try to find existing
for (int i = 0; i < existing.length; i++)
{
if (name.equals(existing[i].getName()))
{
return (MessageConsole) existing[i];
}
}
// no console found, create a new one
MessageConsole myConsole = new MessageConsole(name, null);
consoleManager.addConsoles(new IConsole[] { myConsole });
return myConsole;
}
public static void showConsole(IConsole console) {
if (console != null) {
IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager();
IConsole[] existing = manager.getConsoles();
boolean exists = false;
for (int i = 0; i < existing.length; i++) {
if (console == existing[i]) {
exists = true;
}
}
if (!exists) {
manager.addConsoles(new IConsole[] { console });
}
manager.showConsoleView(console);
}
}
private IConsole findConsole() throws FileNotFoundException {
ConsolePlugin conPlugin = ConsolePlugin.getDefault();
IConsoleManager conMan = conPlugin.getConsoleManager();
IConsole[] existing = conMan.getConsoles();
int nameFoundIndex = -1;
for (int i = 0; i < existing.length; i++) {
// check full name first
if (getConsolePath(existing[i]).equals(getPath())) {
return existing[i];
}
// check short name if not already found
int flags = 0;
flags = java.util.regex.Pattern.CASE_INSENSITIVE | java.util.regex.Pattern.UNICODE_CASE;
regexp = Pattern.compile(getNamePattern(), flags);
if ((nameFoundIndex == -1) && regexp.matcher(existing[i].getName()).matches()) {
nameFoundIndex = i;
}
}
if (nameFoundIndex != -1) {
return existing[nameFoundIndex];
}
throw new FileNotFoundException("no console found");
}
/**
* Returns a {@link CustomMessageConsole} with the given
* <code>consoleName</code>. If no console by that name exists then one is
* created. The returned console is cleared; callers of this method can decide
* when to activate it.
*
* @param consoleName name of the console
* @param imageDescriptor image descriptor to use
* @return {@link CustomMessageConsole} with the given
* <code>consoleName</code>
*/
public static CustomMessageConsole getMessageConsole(String consoleName,
ImageDescriptor imageDescriptor) {
CustomMessageConsole messageConsole = null;
IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
for (IConsole console : consoleManager.getConsoles()) {
if (console.getName().equals(consoleName)
&& console instanceof CustomMessageConsole) {
messageConsole = (CustomMessageConsole) console;
break;
}
}
if (messageConsole == null) {
messageConsole = new CustomMessageConsole(consoleName, imageDescriptor);
consoleManager.addConsoles(new IConsole[] {messageConsole});
} else {
messageConsole.clearConsole();
}
return messageConsole;
}
public static CustomMessageConsole getMessageConsoleKeepLog(String consoleName,
ImageDescriptor imageDescriptor) {
CustomMessageConsole messageConsole = null;
IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
for (IConsole console : consoleManager.getConsoles()) {
if (console.getName().equals(consoleName)
&& console instanceof CustomMessageConsole) {
messageConsole = (CustomMessageConsole) console;
break;
}
}
if (messageConsole == null) {
messageConsole = new CustomMessageConsole(consoleName, imageDescriptor);
consoleManager.addConsoles(new IConsole[] {messageConsole});
} else {
//messageConsole.clearConsole();
}
return messageConsole;
}
private static MessageConsole findConsole(String name) {//Find and return console, otherwise make one
if (ConsolePlugin.getDefault() == null)
return null;
ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsoleManager YangConsole = plugin.getConsoleManager();
IConsole[] existing = YangConsole.getConsoles();
for (int i = 0; i < existing.length; i++)
if (name.equals(existing[i].getName())) {
YangConsole.showConsoleView(existing[i]);
return (MessageConsole) existing[i];
}
MessageConsole myConsole = new MessageConsole(name, null);
YangConsole.addConsoles(new IConsole[] { myConsole });
return myConsole;
}
private static MessageConsole findConsole(String name) {//Find and return console, otherwise make one
if (ConsolePlugin.getDefault() == null)
return null;
ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsoleManager YangConsole = plugin.getConsoleManager();
IConsole[] existing = YangConsole.getConsoles();
for (int i = 0; i < existing.length; i++)
if (name.equals(existing[i].getName())) {
YangConsole.showConsoleView(existing[i]);
return (MessageConsole) existing[i];
}
MessageConsole myConsole = new MessageConsole(name, null);
YangConsole.addConsoles(new IConsole[] { myConsole });
return myConsole;
}
private static MessageConsole findConsole(String name) {//Find and return console, otherwise make one
if (ConsolePlugin.getDefault() == null)
return null;
ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsoleManager YangConsole = plugin.getConsoleManager();
IConsole[] existing = YangConsole.getConsoles();
for (int i = 0; i < existing.length; i++)
if (name.equals(existing[i].getName())) {
YangConsole.showConsoleView(existing[i]);
return (MessageConsole) existing[i];
}
// no console found, so create a new one
MessageConsole myConsole = new MessageConsole(name, null);
YangConsole.addConsoles(new IConsole[] { myConsole });
return myConsole;
}
private static MessageConsole findConsole(String name) {//Find and return console, otherwise make one
if (ConsolePlugin.getDefault() == null)
return null;
ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsoleManager YangConsole = plugin.getConsoleManager();
IConsole[] existing = YangConsole.getConsoles();
for (int i = 0; i < existing.length; i++)
if (name.equals(existing[i].getName())) {
YangConsole.showConsoleView(existing[i]);
return (MessageConsole) existing[i];
}
MessageConsole myConsole = new MessageConsole(name, null);
YangConsole.addConsoles(new IConsole[] { myConsole });
return myConsole;
}
private static MessageConsole findConsole(String name) {//Find and return console, otherwise make one
if (ConsolePlugin.getDefault() == null)
return null;
ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsoleManager YangConsole = plugin.getConsoleManager();
IConsole[] existing = YangConsole.getConsoles();
for (int i = 0; i < existing.length; i++)
if (name.equals(existing[i].getName())) {
YangConsole.showConsoleView(existing[i]);
return (MessageConsole) existing[i];
}
MessageConsole myConsole = new MessageConsole(name, null);
YangConsole.addConsoles(new IConsole[] { myConsole });
return myConsole;
}
private static MessageConsole findConsole(String name) {//Find and return console, otherwise make one
if (ConsolePlugin.getDefault() == null)
return null;
ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsoleManager YangConsole = plugin.getConsoleManager();
IConsole[] existing = YangConsole.getConsoles();
for (int i = 0; i < existing.length; i++)
if (name.equals(existing[i].getName())) {
YangConsole.showConsoleView(existing[i]);
return (MessageConsole) existing[i];
}
MessageConsole myConsole = new MessageConsole(name, null);
YangConsole.addConsoles(new IConsole[] { myConsole });
return myConsole;
}
private static MessageConsole findConsole(String name) {//Find and return console, otherwise make one
if (ConsolePlugin.getDefault() == null)
return null;
ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsoleManager YangConsole = plugin.getConsoleManager();
IConsole[] existing = YangConsole.getConsoles();
for (int i = 0; i < existing.length; i++)
if (name.equals(existing[i].getName())) {
YangConsole.showConsoleView(existing[i]);
return (MessageConsole) existing[i];
}
// no console found, so create a new one
MessageConsole myConsole = new MessageConsole(name, null);
YangConsole.addConsoles(new IConsole[] { myConsole });
return myConsole;
}
private static MessageConsole findConsole(String name) {//Find and return console, otherwise make one
if (ConsolePlugin.getDefault() == null)
return null;
ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsoleManager YangConsole = plugin.getConsoleManager();
IConsole[] existing = YangConsole.getConsoles();
for (int i = 0; i < existing.length; i++)
if (name.equals(existing[i].getName())) {
YangConsole.showConsoleView(existing[i]);
return (MessageConsole) existing[i];
}
MessageConsole myConsole = new MessageConsole(name, null);
YangConsole.addConsoles(new IConsole[] { myConsole });
return myConsole;
}
private static MessageConsole findConsole(String name) {//Find and return console, otherwise make one
if (ConsolePlugin.getDefault() == null)
return null;
ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsoleManager YangConsole = plugin.getConsoleManager();
IConsole[] existing = YangConsole.getConsoles();
for (int i = 0; i < existing.length; i++)
if (name.equals(existing[i].getName())) {
YangConsole.showConsoleView(existing[i]);
return (MessageConsole) existing[i];
}
MessageConsole myConsole = new MessageConsole(name, null);
YangConsole.addConsoles(new IConsole[] { myConsole });
return myConsole;
}
/**
* Searches for a console with the name "Sequence Diagram Console" and
* returns it if it was found. If the console was not found creates a new
* one and returns it.
*/
private MessageConsole findConsole() {
final String seqDiagConsoleName = "Sequence Diagram Console";
ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsoleManager conMan = plugin.getConsoleManager();
IConsole[] existing = conMan.getConsoles();
Optional<IConsole> seqConsole = Stream.of(existing)
.filter(console -> console.getName().equals(seqDiagConsoleName)).findFirst();
if (seqConsole.isPresent()) {
return (MessageConsole) seqConsole.get();
} else {
MessageConsole newSeqConsole = new MessageConsole(seqDiagConsoleName, null);
conMan.addConsoles(new IConsole[] { newSeqConsole });
return newSeqConsole;
}
}
public static CppStyleMessageConsole buildConsole() {
CppStyleMessageConsole console = null;
ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsoleManager conMan = plugin.getConsoleManager();
IConsole[] existing = conMan.getConsoles();
for (int i = 0; i < existing.length; i++) {
if (CppStyleConstants.CONSOLE_NAME.equals(existing[i].getName())) {
console = (CppStyleMessageConsole) existing[i];
}
}
if (console == null) {
// no console found, so create a new one
CppStyleConsolePatternMatchListener listener = new CppStyleConsolePatternMatchListener();
console = new CppStyleMessageConsole(listener);
conMan.addConsoles(new IConsole[] { console });
}
console.clear();
return console;
}
@Override
public synchronized void setEnabled(boolean enabled) {
super.setEnabled(enabled);
if (!enabled) {
// Clean up the launch
clearDebugger();
// Clean up the consoles
if (!activeConsoles.isEmpty()) {
IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
consoleManager.removeConsoles(activeConsoles.toArray(new IConsole[activeConsoles.size()]));
activeConsoles.clear();
}
}
}
@Override
public void run() {
if (app == null) {
// should not be possible
Logger.logError("HideAllLogsAction ran but no application was selected"); //$NON-NLS-1$
return;
}
if (app.getLogInfos() == null || app.getLogInfos().isEmpty()) {
Logger.logError("HideAllLogsAction ran but there are no logs for the selected application: " + app.name); //$NON-NLS-1$
return;
}
// Remove any existing consoles for this app
Job job = new Job(NLS.bind(Messages.HideAllLogFilesJobLabel, app.name)) {
@Override
protected IStatus run(IProgressMonitor monitor) {
try {
for (ProjectLogInfo logInfo : app.getLogInfos()) {
SocketConsole console = app.getConsole(logInfo);
if (console != null) {
IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
consoleManager.removeConsoles(new IConsole[] { console });
app.removeConsole(console);
}
}
return Status.OK_STATUS;
} catch (Exception e) {
Logger.logError("An error occurred closing the log files for: " + app.name + ", with id: " + app.projectID, e); //$NON-NLS-1$ //$NON-NLS-2$
return new Status(IStatus.ERROR, CodewindUIPlugin.PLUGIN_ID, NLS.bind(Messages.HideAllLogFilesError, app.name), e);
}
}
};
job.schedule();
}
protected void checkNoConsoles(String projectName) throws Exception {
IConsoleManager manager = ConsolePlugin.getDefault().getConsoleManager();
boolean hasConsoles = false;
for (IConsole console : manager.getConsoles()) {
if (console.getName().contains(projectName)) {
TestUtil.print("Found unexpected console for the " + projectName + " project: " + console.getName());
hasConsoles = true;
}
}
assertFalse("The " + projectName + " project should not have any consoles.", hasConsoles);
}
private ConsoleContext createOrGetConsole ()
{
if ( this.parentController != null && this.parentController.getConsole () != null )
{
return this.parentController.getConsole ();
}
final IConsoleManager manager = ConsolePlugin.getDefault ().getConsoleManager ();
final MessageConsole messageConsole = new MessageConsole ( String.format ( "Symbol Debug Console: %s", this.symbolInfoName ), null, null, true );
manager.addConsoles ( new IConsole[] { messageConsole } );
this.createdConsole = messageConsole;
return new ConsoleContext ( messageConsole );
}
@After
@Before
public void stopLaunchesAndCloseConsoles() throws DebugException {
for (ILaunch launch : DebugPlugin.getDefault().getLaunchManager().getLaunches()) {
launch.terminate();
}
IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
consoleManager.removeConsoles(consoleManager.getConsoles());
IWorkbenchPage activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
for (IViewReference view : activePage.getViewReferences()) {
if (IConsoleConstants.ID_CONSOLE_VIEW.equals(view.getId())) {
activePage.hideView(view);
}
}
}
private static MessageConsole findConsole(String name) {
ConsolePlugin plugin = ConsolePlugin.getDefault();
IConsoleManager conMan = plugin.getConsoleManager();
IConsole[] existing = conMan.getConsoles();
for (int i = 0; i < existing.length; i++) {
if (name.equals(existing[i].getName())) {
return (MessageConsole) existing[i];
}
}
// no console found, so create a new one
MessageConsole myConsole = new MessageConsole(name, null);
conMan.addConsoles(new IConsole[] {myConsole});
return myConsole;
}
private void launchDeployJob(IProject project, Credential credential)
throws IOException, CoreException {
sendAnalyticsPing(AnalyticsEvents.APP_ENGINE_DEPLOY);
IPath workDirectory = createWorkDirectory();
DeployPreferences deployPreferences = getDeployPreferences(project);
DeployConsole messageConsole =
MessageConsoleUtilities.createConsole(getConsoleName(deployPreferences.getProjectId()),
new DeployConsole.Factory());
IConsoleManager consoleManager = ConsolePlugin.getDefault().getConsoleManager();
consoleManager.showConsoleView(messageConsole);
ConsoleColorProvider colorProvider = new ConsoleColorProvider();
MessageConsoleStream outputStream = messageConsole.newMessageStream();
MessageConsoleStream errorStream = messageConsole.newMessageStream();
outputStream.setActivateOnWrite(true);
errorStream.setActivateOnWrite(true);
outputStream.setColor(colorProvider.getColor(IDebugUIConstants.ID_STANDARD_OUTPUT_STREAM));
errorStream.setColor(colorProvider.getColor(IDebugUIConstants.ID_STANDARD_ERROR_STREAM));
StagingDelegate stagingDelegate = getStagingDelegate(project);
DeployJob deploy = new DeployJob(deployPreferences, credential, workDirectory,
outputStream, errorStream, stagingDelegate);
messageConsole.setJob(deploy);
deploy.addJobChangeListener(new JobChangeAdapter() {
@Override
public void done(IJobChangeEvent event) {
if (event.getResult().isOK()) {
sendAnalyticsPing(AnalyticsEvents.APP_ENGINE_DEPLOY_SUCCESS);
}
launchCleanupJob();
}
});
deploy.schedule();
}