希望有人可以帮助我,给出一个暗示和出路。 现在我参与了一个雄心勃勃的项目,试图创建混合数学和编程IDE。 经过大量的预研究,我们决定使用eclipse作为基础,并以某种方式添加Mathematica,枫木功能。 一般来说,我们希望将数学表达式(a = sin(Pi)+ 10 ^ 2)输入到java代码中。这些表达式也应该在LaTex视图中显示,在代码中使工程师更具可读性,以说明我们想要在注释中实现插入图像的代码。 因为我们需要所有的java编辑器功能,在我看来,使用标准的eclipse java编辑器是正确的,并且学会它与其他对象一起运行,例如: G。图像。
所以我的问题是: - 有人可以分享开发类似产品的经验吗? - 可能有类似我们要开发的东西吗?
可能我会写更多问题,特别是更严格的问题。
答案 0 :(得分:3)
这当然是一个有趣的声音项目。正如Gilbert Le Blanc所提到的,Java编辑器经过高度优化,可以编辑Java代码,并不是可扩展的。
话虽如此,我可以推荐两个选项(一个按规则播放,另一个违背规则)。
修改强>
这是我描述的项目的拉链。它不会按原样编译,但您可以查看源代码:
试试this link。它应该是世界可以看到的。
要实现的基本要素是swt StyledText小部件本身可以包含其他小部件。该项目利用了Java编辑器中的功能。
特别是,查看类org.openquark.cal.eclipse.embedded.containing.ContainingEditor
,它是CompilaitonUnitEditor的子类。这个特殊的类在另一个编辑器(包含编辑器)中嵌入了第二个文本编辑器(包含的编辑器)。
另外,请查看org.openquark.cal.eclipse.embedded.containing.ControlManager。此类管理包含CompilationUnitEditor的样式文本内的不同控件。
这个项目的作用是创建一个类似Java的编辑器,并允许用户在Java编辑器中嵌入另一种语言的编辑器。这些编辑器实际上是由包含Java编辑器中的文本支持的,但文本由包含的编辑器覆盖。
包含的编辑器在文本输入包含编辑器时上下移动。此外,您可以使用键盘在包含的编辑器中获得/失去焦点。
自从我查看此代码已经有好几年了,但如果您有任何疑问,请给我留言或添加此问题。
答案 1 :(得分:0)
Eclipse Java编辑器由数百个Java类组成。在数百个Java类中有一个隐含的假设,即编辑器视图仅用于代码。
在我看来,你会发现为数学图像开发Mathematica类型的编辑器要容易得多,而单独留下Java编辑器。您的工程师可以在Eclipse中打开两个编辑器。
如果我的评论没有劝阻你,这里是Eclipse Helios的Eclipse documentation,也称为Eclipse 3.6
您开始使用的部分称为JDT Plug-in Developer Guide。
当我输入时,Eclipse网站响应缓慢。您还可以从Eclipse Helios内部访问帮助。
Help -> Help Contents
答案 2 :(得分:0)
我确切知道你能做些什么。首先,您可以打开unicode字符集。这将允许您拥有诸如希腊语之类的变量,这使得代码更具可读性。 [General-> WorkSpace-> Text Encoding = UTF-8]。
// Apply spring soft constraint using Erin Catto's method with Semi-Implicit Euler :
// Figure out (ω,ζ) from node sizes, then k=mEff.ω², c=2.mEff.ω.ζ
double ω = 2.0*π*f; // ω (angular frequency)
double k = meff * ω*ω; // spring stiffness
double ζ = (b1.ζ + b2.ζ)/2; // Average out the damping coefficients
double d = 2.0 * meff * ω * ζ; // damping coefficient
double γ=h*(d+h*k); // CFM (Constraint Force Mixing)
其次,您建议在代码中看到LaTeX公式也是下一个最好的选择。我知道这是可能的,因为我3年前写过一篇,但我无法在任何地方找到代码。我把它发布在eclipse插件的论坛上,但它现在已经消失了。 好消息是我再次写它,因为我需要它 - 这就是我找到你的帖子的方式。这次我使用的jlatexmath比我上次使用的更好。 我的想法是,您可以在评论中嵌入一个公式作为LaTeX,当您将鼠标悬停在工具提示上时,插件会将LaTeX呈现在工具提示中。
当我完成后,我会在这里发布一个链接或代码。大部分工作都在弄清楚如何让eclipse接受新的悬停控件。 J.D。
答案 3 :(得分:0)
好的,作为我上面帖子的后续内容,这里是我为此开发的Eclipse插件开发环境(PDE)项目。该插件名为LaTeXHover,只要您将鼠标悬停在包含LaTeX的注释行顶部,就会弹出工具提示,如:
// $ latex i \ hbar \ frac {\ partial} {\ partial t} \ left | \ Psi(t)\ right> = H \ left | \ Psi(t)\ right> $ // $ latex x = \ frac {-b \ pm \ sqrt {b ^ 2-4ac}} {2a} $
LaTeX必须使用$ latex和$分隔,不需要额外的空格。 它使用jlatexmath进行渲染。
我将尝试更好地打包插件并将其添加到Git repo中,并可能将其贡献给其中一个Eclipse Plug-In项目。就像上次一样,我现在没时间做这件事,但至少现在已经有了。任何希望从这里继续该项目的人都欢迎这样做。 J.D。
git://github.com/jdbertron/latexhover.git