2008-12-19 70 views
5

在Netbeans 6.5的工具 - >选项 - >字体&颜色 - >语法对话框中,您可以更改Netbeans文本编辑器的外观和风格。当您选择一种语言时,您会看到您的字体/配色方案的预览。但是,当我预览Java时,语法更改的选项比预览窗口中显示的要多得多。如果我能够查看更强大的代码段,我可以看到更多选项的直接影响。如何更改Netbeans字体和颜色预览文档?

如何提供预览文档以查看我的字体/颜色更改?

UPDATE:

寻找到这个多一些之后,我已经能够缩小问题一点。从我所知道的情况来看,Netbeans中的所有内容都被认为是一个插件。 GUI编辑器是一个插件,甚至文本编辑器也是一个插件。这意味着实际上分析Java代码并执行语法突出显示的Netbeans实际上也是一个插件(因为Java只是Netbeans强调的多种语言之一,所以这是一个插件)。

我认为fromvega与他的建议是正确的。用于创建清单文件编辑插件的教程指出了我的正确方向。本教程将回避作为用于字体/颜色预览的示例文档的文件。它告诉你如何在这个新的插件项目中创建一个。 (位于“在NetBeans系统文件系统中注册选项”,第4部分。关于页面下方的4/5)。

我的下一个想法是寻找Java语法编辑模式插件并查找此文件并使用更丰富的示例文件进行更新。我查看了安装目录并且空了,但是我发现在我的用户设置目录中看起来像是合适的文件。在我的用户目录中有一个包含许多子文件夹的配置目录(Windows:C:\ Documents and Settings \ saterus.netbeans \ config)。

我一直在这个目录里面徘徊了一下,但是只找到了manifest教程中提到的xml文件。我一直无法找到我认为应该在那里的Java插件的无扩展样本文件。

因为我现在碰到一堵砖墙,所以我想我会把它扔回SO社区,看看你们是否可以做出最后的飞跃并找到解决方案。

回答

2

所显示的文档(每个MIME类型)都在“系统文件系统”中的特定文件夹中指定(这是一个NetBeans概念,它是由各个模块的贡献组成的虚拟文件系统;这是NetBeans中动态注册的功能)。

模块通常在插件中名为“layer.xml”的文件中指定其系统文件系统贡献。创建插件模板通常会为您创建。

例如,下面是Python的例子注册:

 
<filesystem> 
    ... 
    <folder name="OptionsDialog"> 
     <folder name="PreviewExamples"> 
      <folder name="text"> 
       <file name="x-python" url="PythonExample.py"/> 
      </folder> 
     </folder> 
     ... 

这里,PythonExample.py是在同一目录层文件的样本文件。

因此,您需要做的是创建一个插件,覆盖您关心的MIME类型的现有注册并提供备用示例文档。您可能需要先隐藏现有注册(请参见http://doc.javanb.com/netbeans-api-javadoc-5-0-0/org-openide-filesystems/org/openide/filesystems/MultiFileSystem.html中的_hidden 部分)。

希望这会引导您朝着正确的方向前进。

但是,考虑到这一点,我们可能应该让预览区域可编辑 - 所以人们可以在其中关闭任何他们关心的代码片段。这不会是持久的,所以无论何时你改变语言,你都会得到原始样本 - 但它提供了一种快速查看自己的代码的方法。这不仅适用于字体颜色自定义,还适用于格式预览面板。

我已经提交了对问题的NetBeans此: http://www.netbeans.org/issues/show_bug.cgi?id=155964

- 托尔

0

我想你只能用一个新的插件来实现,因为你需要一些解析来定义什么是什么。

给一脸这些教程中,我还没有详细阅读他们,但他们似乎告诉你如何做你想要的:

http://platform.netbeans.org/tutorials/nbm-mfsyntax.html http://www.antonioshome.net/kitchen/netbeans/nbms-coloring.php

+0

我不认为这是问题。他正在查看用于更改语法着色的对话框,并且看到示例文档中没有出现某些项目(例如“局部变量声明”)(它有点Java,但没有局部变量)。他想知道如何更改示例文档。 – 2008-12-19 22:14:13

+0

正如我之前所说,我认为要更改样本文件,需要将他的手放入一些代码中。 – fromvega 2008-12-21 19:01:02

4

只是谁想要这个改变自己,可以在UNIX机器上使用grep来定位即

grep -lr "some part of the current sample code" /path/to/netbeans 

文件I用这种方法来找到红宝石例如文件名,并从该确定了它保持在ORG-netbeans的模块-ruby.jar作为被叫RubyExample文件。通过简单地修改该文件,我可以构建一个更好的样本文件供我自己使用。

希望这可以帮助别人!