文本编辑器支持使用*函数*的自定义语法吗?

文本编辑器支持使用*函数*的自定义语法吗?

大多数文本编辑器支持自定义语法突出显示,有时还支持简单的自动完成。但这对我来说还不够 :)

我正在寻找具有自动完成/工具提示功能的编辑器功能,类似于 Visual Studio 中的 IntelliSense。

例如,如果我的自定义语言有一个标准函数做某事(什么、何时、何地)我总是忘记参数的顺序,我希望我的编辑器能够在我输入时立即帮助我填写参数做一点事(,例如显示小工具提示做一点事(什么, 何时何地)

如果它只适用于预配置函数,那就足够了。我不需要它自动完成编辑文件中定义的函数。

答案1

我一直都是这样使用 Emacs,但这不是你想听到的答案,是吗?:-)

答案2

j编辑是我选择的文本编辑器。它有几个功能一些你想要的;你的里程可能会有所不同:

  1. 它具有自动完成功能(默认情况下绑定到 CTRL+B,但我通常将其更改为 CTRL+SPACE 以与 Visual Studio 保持一致。它会自动完成当前缓冲区中的任何匹配单词(不仅仅是函数)以及当前活动的语法高亮模式中定义的任何关键字
  2. 支持由以下工具生成的标签文件的插件旺盛的 Ctags

它的不足之处在于对参数工具提示的支持(尽管 Tags 插件通常显示函数定义的前几行)可能有一些特定于语言的插件可以为您提供此功能,但我对它们不熟悉。

答案3

不幸的是我从来没有找到一个基于Windows的文本编辑器可以做到这一点。

答案4

如果您希望完成其他语言的功能,则可以使用智能感知,大多数 IDE 都会针对特定于该 IDE 的语言执行这些功能。它们通常还会索引您的代码,并帮助您自动完成编辑时可见的功能。

虽然没有 IDE,但 Vim 和 Emacs 都包含插件,可以让任何一个编辑器执行 IDE 的许多功能,包括自动完成并跳转到函数定义。Ken Keenan 提到了 ctags,它是我始终在 vim 之上安装的第一件东西。

相关内容