我想在执行操作时打开包含表的View.
我可以通过viewId打开该代码的视图:
display.asyncExec(new Runnable(){
public void run() {
ApplicationGIS.getView(true, viewId);
}});
Run Code Online (Sandbox Code Playgroud)
此视图的id在plugin.xml上定义,但我必须将一些参数传递给此视图上的表.我可以以编程方式创建我的自定义视图,但这次我无法打开它,因为我没有它的id.这是我的观点类:
public class MyCustomView extends ViewPart {
private Text text;
private Table table;
private TableViewer tableViewer;
@Override
public void createPartControl(Composite parent) {
// TODO Auto-generated method stub
parent.setLayout(new GridLayout(4, false));
Composite composite = new Composite(parent, SWT.NONE);
composite.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, 4, 1));
composite.setLayout(new GridLayout(2, false));
text = new Text(composite, SWT.BORDER);
text.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false, 1, 1));
Composite composite_1 = new Composite(composite, SWT.NONE);
composite_1.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true, …Run Code Online (Sandbox Code Playgroud) 我正在开发一种新语言的开发工具.由于该组织申请了专利,我无法说出该语言的细节.我是新来的eclipse和plugin development.如何创建类似于cdt或的用户界面jdt.我必须完成的第一个模块是UI开发.请帮我找一些给出jdt ui代码的好消息来源.
现在我需要改变file -> new.当点击新的时,它应该提供创建任何类型的文件的选项,即用户定义的文件也可以创建
我想重命名整个包,它包括包名和导入的所有ocncence,在eclipse中更改.
例如com.google.gdata.client及其com.xyz.google.gdata.client的类及其所有出现的类.
实际上,我想根据我的要求自定义gdata-core.1.47.jar源代码.我需要做的第一件事是根据我的要求更改包结构.但是,当我按照上述步骤进行操作时,会自动添加更多导入
例如,在refctor之前,对于com.google.api.gbase.client类具有以下导入
import com.google.gdata.util.common.xml.XmlWriter;
import com.google.gdata.data.Extension;
import com.google.gdata.data.ExtensionProfile;
import com.google.gdata.data.AttributeHelper;
import com.google.gdata.data.ExtensionDescription;
import com.google.gdata.util.ParseException;
import com.google.gdata.util.XmlParser;
Run Code Online (Sandbox Code Playgroud)
但是在将它重命名为com.google.gdata.client到com.xyz.google.gdata.client之后,它会添加更多导入,如下所示,
import com.google.api.gbase.client.AddValueHandler;
import com.google.api.gbase.client.AttributeHistogram;
import com.google.api.gbase.client.GoogleBaseAttributeId;
import com.google.api.gbase.client.GoogleBaseAttributeType;
import com.google.api.gbase.client.GoogleBaseEntry;
import com.google.api.gbase.client.UniqueValue;
import com.google.gdata.util.XmlWriter;
import com.xyz.google.gdata.data.AttributeHelper;
import com.xyz.google.gdata.data.Extension;
import com.xyz.google.gdata.data.ExtensionDescription;
import com.xyz.google.gdata.data.ExtensionProfile;
import com.xyz.google.gdata.util.ParseException;
import com.xyz.google.gdata.util.XmlParser;
Run Code Online (Sandbox Code Playgroud) 为了创建一个自动项目,我创建了一个具有以下依赖项的插件项目:
以及位于 src 文件夹中的以下 java 类:
package tester;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.NullProgressMonitor;
public class tes {
public static void main(String[] args) {
// TODO Auto-generated method stub
IProgressMonitor progressMonitor = new NullProgressMonitor();
IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
IProject project = root.getProject("DesiredProjectName");
try {
project.create(progressMonitor);
project.open(progressMonitor);
} catch (CoreException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Run Code Online (Sandbox Code Playgroud)
运行插件后,运行java类在eclipse应用中创建项目,但是报错如下:
Exception in thread "main" java.lang.IllegalStateException: Workspace is closed.
at org.eclipse.core.resources.ResourcesPlugin.getWorkspace(ResourcesPlugin.java:399) …Run Code Online (Sandbox Code Playgroud) 我使用此链接作为指南将JavaCC下载到我的eclipse Luna中 - http://homepages.gac.edu/~hvidsten/courses/MC270/Labs/project4-GacApplication/project-files/JavaCC/JavaCC-Eclipse.html
我读过版本6有问题,但我认为这是版本5.我还添加了javaCC jar文件夹作为参考库
但是,当我尝试通过单击使用javacc编译来编译我的.jj代码时,它不起作用并给出错误 - 无法找到或加载主类javacc
我已经尝试将我的javacc中的bin文件夹添加到我的途径中,但我没有运气
在此先感谢您的帮助!
我的Eclipse应用程序中有一个简单的swt GUI,如下所示:
它的实现非常简单:
// creating the label
Label label = new Label(composite, SWT.NONE);
label.setText("Label");
// creating the input field
Text text = new Text(composite, SWT.BORDER);
gridData.horizontalAlignment = SWT.FILL;
gridData.grabExcessHorizontalSpace = true;
text.setLayoutData(gridData);
Run Code Online (Sandbox Code Playgroud)
我想在标签和输入元素之间添加一个按钮,以便用户可以获得有关在字段内添加内容的其他帮助.
它可以是帮助按钮,也可以只是一个显示鼠标悬停信息的图标.
我该如何实现?我将不胜感激任何帮助!
我刚开始使用Eclipse Mars作为开发环境.我曾经在旧的eclipse版本中安装了jd-eclipse反编译器.当我尝试为这个插件安装相同的插件时,我做不到.
我需要在eclipse中使用反编译器,希望有人提出解决方案.
谢谢.
这个问题源于Eclipse中的旧痛苦.高dpi显示屏上的图标太小.在文件系统中搜索图标(可能是.png或.gif文件)也无济于事.它们隐藏在Eclipse jar文件中.
幸运的是,最新的Neon版本有望解决这个问题.然而,如果我能够触及图标并调整它们,我会很激动.让编程环境完全自定义会非常有趣.
是否可以打开一个jar文件,取出一些图标,用你自己的替换它们,关闭jar文件并启动Eclipse?
或者是在Github上某处下载整个Eclipse源代码并从头开始编译所有内容的唯一方法(使用您自己的图标替换原始图标)?如果这是唯一的可能性,那么我就放弃了(除非我可以在某个地方获得如何构建它的教程).
编辑:显然,你不能只是改变jar中的一些文件,因为这会弄乱'签名'.Eclipse将不再运行您已更改的插件jar.有人将我重定向到以下StackOverflow主题,该主题描述了如何取消签名jar文件: 取消签名一个签名的jar
当您对jar文件进行签名时,新文件将添加到META-INF目录中,例如"MKSIGN.SF"和"MKSIGN.DSA".只需将它们从jar文件中删除(使用任何zip实用程序),然后将其保留为未签名.
我遵循了这个建议,但没有帮助.Eclipse仍然拒绝运行我改变过的任何插件jar.
编辑:这些是我在jar文件中删除的文件:
SWT仅用于Eclipse吗?就像它基本上是Eclipse的Swing版本一样?当我想到这个时,我正在网上阅读一些东西.防爆.http://www.mkyong.com/swt/swt-hello-world-example/
eclipse ×6
java ×6
swt ×3
decompiler ×1
eclipse-mars ×1
eclipse-rcp ×1
gdata ×1
gdata-api ×1
jar ×1
javacc ×1
parsing ×1
swing ×1
view ×1