`
redheart_2006
  • 浏览: 22492 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类

eclipse中打开文件夹以及ftp插件

阅读更多
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   EasyLookAction.java

package org.jxc.easylook.popup.actions;

import java.io.File;
import org.eclipse.core.resources.*;
import org.eclipse.core.runtime.IAdaptable;
import org.eclipse.core.runtime.IPath;
import org.eclipse.jdt.core.IJavaProject;
import org.eclipse.jdt.internal.core.JarPackageFragmentRoot;
import org.eclipse.jdt.internal.core.PackageFragment;
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;

public class EasyLookAction
	implements IObjectActionDelegate
{

	private Object selected;
	private Class selectedClass;

	public EasyLookAction()
	{
		selected = null;
		selectedClass = null;
	}

	public void setActivePart(IAction iaction, IWorkbenchPart iworkbenchpart)
	{
	}

	public void run(IAction action)
	{
		if (selected == null)
			return;
		File directory = null;
		if (selected instanceof IResource)
			directory = new File(((IResource)selected).getLocation().toOSString());
		if (selected instanceof IFile)
			directory = directory.getParentFile();
		if (directory == null)
			return;
		try
		{
			Runtime.getRuntime().exec((new StringBuilder("explorer.exe /n,")).append(directory.toString()).toString());
		}
		catch (Exception ) { }
	}

	public void selectionChanged(IAction action, ISelection selection)
	{
		try
		{
			IAdaptable adaptable = null;
			selected = "unknown";
			if (selection instanceof IStructuredSelection)
			{
				adaptable = (IAdaptable)((IStructuredSelection)selection).getFirstElement();
				selectedClass = adaptable.getClass();
				if (adaptable instanceof IResource)
					selected = (IResource)adaptable;
				else
				if ((adaptable instanceof PackageFragment) && (((PackageFragment)adaptable).getPackageFragmentRoot() instanceof JarPackageFragmentRoot))
					selected = getJarFile(((PackageFragment)adaptable).getPackageFragmentRoot());
				else
				if (adaptable instanceof JarPackageFragmentRoot)
					selected = getJarFile(adaptable);
				else
					selected = (IResource)adaptable.getAdapter(org/eclipse/core/resources/IResource);
			}
		}
		catch (Throwable ) { }
	}

	protected File getJarFile(IAdaptable adaptable)
	{
		JarPackageFragmentRoot jpfr = (JarPackageFragmentRoot)adaptable;
		File selected = jpfr.getPath().makeAbsolute().toFile();
		if (!selected.exists())
		{
			File projectFile = new File(jpfr.getJavaProject().getProject().getLocation().toOSString());
			selected = new File((new StringBuilder(String.valueOf(projectFile.getParent()))).append(selected.toString()).toString());
		}
		return selected;
	}
}

 

分享到:
评论

相关推荐

    类似eclipse文件夹查字符串的工具(可以查php文件比一般的工具好很多)

    标题中的“类似eclipse文件夹查字符串的工具”指的是能够快速搜索代码库中特定字符串的软件,这样的工具在开发过程中非常实用,特别是对于大型项目或包含多种语言(如PHP)的项目。Eclipse是一款广泛使用的Java集成...

    Eclipse与StarTeam集成步骤

    - **Step E**:在StarTeam客户端中打开对应的项目文件夹,并设置个性工作目录,使Eclipse的目录及项目文件直接映射到StarTeam的工作目录中,所有文件的状态会显示为“Current”。 通过以上详细步骤,您应该能够顺利...

    svn与eclipse的配置文件

    不过,这里我们更普遍地介绍如何在Eclipse中安装SVN插件。 1. **下载SVN插件**:常见的SVN插件有Subclipse和Subversive。根据需求选择适合的插件下载。 2. **解压文件**:“1ftpsite-1.8.22.zip”可能包含SVN插件...

    FtpPlug_1.0.1 eclipse myeclipse

    简单的 ftp telnet 项目本地文件夹 指定的文件 eclipse myeclipse 插件

    xampp和eclipse安装

    2. **配置发布路径**: 在"Run Configurations"中,为你的项目创建一个新配置,设置"Server"为本地服务器,并将"Location"指向XAMPP的`htdocs`目录下的项目文件夹。 3. **实时预览与调试**: 启动Eclipse的内置服务器...

    RSE-runtime-3.4.zip

    RSE(Remote System Explorer)是Eclipse集成开发环境(IDE)中的一个重要插件,它提供了对远程系统的访问、管理和操作功能。"RSE-runtime-3.4.zip"这个压缩包显然是RSE运行时环境的一个版本,版本号为3.4。这个版本...

    Windows下Qt应用程序开发环境搭建.pdf

    - 安装完成后,打开Eclipse,通过“Window”->“Preferences”->“Qt4”配置Qt插件,指定Qt库的安装路径。 - 配置构建环境,包括设置编译器路径和Qt库路径。 - 安装SVN插件,通过Eclipse的内置市场或下载安装包,...

    android课件

    开发者需要从Android开发者网站或FTP站点下载ADT插件,然后在Eclipse中通过Help > Install New Software... > Add > Archived site流程安装。 4. **下载和安装Android SDK**:SDK(Software Development Kit)包含...

    RAP Deploy Specification pdf

    - 打开Eclipse,选择“文件”>“导入”>“插件和片段”。 - 在“从哪里导入”组中,取消选中“目标平台(如偏好设置中指定)”选项。 - 在“插件位置”下输入插件目录路径(例如:`D:\eclipse-rap\eclipse\...

    myeclipse 6.5 svn的安装与使用

    2. 在 MyEclipse 6.5 的安装目录下的 `plugins` 文件夹(例如:`C:\Program Files\MyEclipse 6.5\eclipse\plugins`)创建一个名为 `site-1.6.5` 的新文件夹。 3. 同样通过 `Help` -> `Software Updates` -> `Find ...

    JMeter源码4.0,ANTjar包

    在这个压缩包中,我们关注的是"JMeter源码4.0,ANTjar包",这暗示了包含JMeter 4.0版本的源代码以及ANT构建工具的相关jar包。 **JMeter 4.0源码分析:** JMeter的源代码是用Java编写的,这使得它在跨平台方面具有...

    Android环境搭建(软件工程师).doc

    第六步,安装Android Developer Tools (ADT)插件,这是Eclipse中的Android开发工具。在Eclipse中选择Help -> Install New Software,然后添加ADT插件。在Archive中选择下载的ADT-0.9.7.zip文件路径,完成安装后,还...

    WinSCP_4.3.5

    尽管标题中提到的是4.3.5版本,但这里我们将讨论WinSCP的主要功能、特点以及与Linux FTP操作相关的知识。 1. **主要功能** - **图形化界面**: WinSCP提供了一个直观的GUI(图形用户界面),使得用户可以通过拖放...

    editplus3.12

    在本文中,我们将深入探讨EditPlus的特性、使用方法以及如何根据个人需求进行设置,使其更贴近Eclipse编辑器的体验。 1. **基本功能** EditPlus作为一款文本编辑器,其基础功能包括文本编辑、语法高亮、代码折叠、...

Global site tag (gtag.js) - Google Analytics