Goto定义类似于notepad++中自定义(用户定义)语言的功能



是否有任何方法(通过插件或设置的方式)来创建(我的意思是修改,添加&删除)自定义标签在notepad++?我所说的标签是指跳转到项目中任何地方使用的实例的定义(类似于我们在其他流行语言(如C, c++, c#)中使用的"goto定义"函数)。我搜索了这个主题,但没有找到满意的结果。

我要求:

我在notepad++中创建了一种自定义语言(通过添加关键字、着色模式和其他规则)。现在我需要为这种语言添加自定义标记的方法。我怎样才能做到这一点呢?在标签的帮助下,我应该能够导航到特定项目(项目中的所有文件或至少打开的文件)中的定义(就像其他流行语言中的goto定义)。

现在我需要为这种语言添加自定义标记的方法。我怎样才能做到这一点呢?

如果你使用的是Exuberant标签,你可以使用少量的正则表达式来配置一个新的语言定义。

例如,这个链接展示了如何使用regexp方法为Clipper语言配置标签:

我刚刚不得不处理本质上相同的问题。我正在使用notepad++和用自定义标记语言编写的遗留代码库。每个文件都可以包含对其他文件定义的交叉引用,因此跳转到定义的方法将非常有用。

找到一个满足所有四个要求的解决方案并不容易:一个goto定义特性可以跨多个文件 notepad++ 中的自定义语言。我在寻找解决方案时发现了这个问题;jussij提供的答案很好,但它并没有真正提供一个完整的解决方案。

我最终使用了带有自定义语言定义的SourceCookifier插件。关于如何使用它,网上没有大量的指导,但是一旦安装,你可以使用它来使用正则表达式规则手动创建语言定义。

SourceCookifier将适用于您的语言,如果您可以配置以下内容:

  • 语言使用的一组文件扩展名
  • 一组标签类型(即函数、类、变量)
  • 一组用于定位每个标签类型的POSIX基本正则表达式,请参阅这篇文章

一旦定义了语言,就可以突出显示找到的标记的任何实例,并使用快捷键Ctrl+Shift+Enter跳转到该标记的定义。这可以在整个代码库的文件中工作,如果你提供一个文件列表来检查,它称之为"会话"。您需要做的就是将代码库文件夹拖放到SourceCookifier侧边栏窗口中。我正在使用的代码库非常大,所以我只使用基本功能,请参阅这篇文章,以获得很好的解释。goto定义快捷方式也可以添加到右键菜单中,参见这篇文章。

最新更新