Portacle - 为什么当我访问文件时智能感知功能停止工作(它在 repl 中工作)
Portacle - why does function intellisense stop working when I visit a file (it works in the repl)
我对 emacs 和 lisp 还很陌生,所以我从 portacle 开始。当它在 repl 中启动时,我可以定义函数,然后当我使用它们时,我会在底部获得一些智能感知,指的是参数名称。但是,当我打开文件时,智能感知对新文件不起作用。
如何让智能感知(函数的参数名称)以与在 repl 中时相同的方式为文件工作?
你所说的 'intellisense' 是 emacs / SLIME 所称的 'completion'(两者都是一个很好的名字,但更古老和更通用的术语对 Lisp 人来说更有意义)。
正如 Rainer 在评论中所建议的那样,您没有获得对文件有用的任何信息的原因是,它的工作方式是 Emacs 秘密地与 Lisp 实现(我认为在本例中为 SBCL)对话,并且问它,几乎 'tell me things about this thing',而 SBCL 只有在 知道 任何有关 'this thing' 的情况下才能做到这一点,并且在它加载相关文件之前,它不会' t.
我不知道 Portacle 的绑定是什么,但是在更 simple-minded SLIME 环境中加载文件的方式是,在 Emacs 中访问文件时,说 C-c-C-k(即 control-C control-K),这将编译并加载文件。
对于不习惯 Lisp 环境的人来说,这种生活方式可能相当陌生,但在 Lisp 世界中,more-or-less事情一直如此:Lisps 通常是增量系统,您可以在其中加载代码,并且随着越来越多的代码被加载到世界中,世界变得更加丰富,并且更能够告诉你关于它所看到的代码的事情。事实上,至少曾经很常见的一种方法是将一大堆东西加载到 Lisp 中,然后保存那个 运行 图像以便稍后重新启动:这些保存的图像通常被称为 'world loads','bands'、'sysouts'(在某些异端机器上),或者只是 'images'.
我对 emacs 和 lisp 还很陌生,所以我从 portacle 开始。当它在 repl 中启动时,我可以定义函数,然后当我使用它们时,我会在底部获得一些智能感知,指的是参数名称。但是,当我打开文件时,智能感知对新文件不起作用。
如何让智能感知(函数的参数名称)以与在 repl 中时相同的方式为文件工作?
你所说的 'intellisense' 是 emacs / SLIME 所称的 'completion'(两者都是一个很好的名字,但更古老和更通用的术语对 Lisp 人来说更有意义)。
正如 Rainer 在评论中所建议的那样,您没有获得对文件有用的任何信息的原因是,它的工作方式是 Emacs 秘密地与 Lisp 实现(我认为在本例中为 SBCL)对话,并且问它,几乎 'tell me things about this thing',而 SBCL 只有在 知道 任何有关 'this thing' 的情况下才能做到这一点,并且在它加载相关文件之前,它不会' t.
我不知道 Portacle 的绑定是什么,但是在更 simple-minded SLIME 环境中加载文件的方式是,在 Emacs 中访问文件时,说 C-c-C-k(即 control-C control-K),这将编译并加载文件。
对于不习惯 Lisp 环境的人来说,这种生活方式可能相当陌生,但在 Lisp 世界中,more-or-less事情一直如此:Lisps 通常是增量系统,您可以在其中加载代码,并且随着越来越多的代码被加载到世界中,世界变得更加丰富,并且更能够告诉你关于它所看到的代码的事情。事实上,至少曾经很常见的一种方法是将一大堆东西加载到 Lisp 中,然后保存那个 运行 图像以便稍后重新启动:这些保存的图像通常被称为 'world loads','bands'、'sysouts'(在某些异端机器上),或者只是 'images'.