在Squeak/Pharo Smalltalk中显示继承的方法

在Squeak/Pharo Smalltalk中显示继承的方法,smalltalk,squeak,Smalltalk,Squeak,我熟悉Smalltalk的VisualWorks和Dolphin版本,但以前没有使用Squeak。我只是在熟悉法罗,它是一种“干净”的吱吱声 我习惯于在类浏览器中只显示类实现的方法,或者同时显示继承的方法和实现的方法 Squeak中缺少这个有用的工具,还是我找不到它?您可以双击任何类以打开该特定类的层次结构浏览器。工具栏中的层次按钮和菜单项browse hierarchy Ctrl+H打开相同的视图 有一个继承浏览器,向您显示当前所选方法的分层实现。单击工具栏中的继承按钮 此外,还有一个协议浏览

我熟悉Smalltalk的VisualWorks和Dolphin版本,但以前没有使用Squeak。我只是在熟悉法罗,它是一种“干净”的吱吱声

我习惯于在类浏览器中只显示类实现的方法,或者同时显示继承的方法和实现的方法


Squeak中缺少这个有用的工具,还是我找不到它?

您可以双击任何类以打开该特定类的层次结构浏览器。工具栏中的层次按钮和菜单项browse hierarchy Ctrl+H打开相同的视图

有一个继承浏览器,向您显示当前所选方法的分层实现。单击工具栏中的继承按钮


此外,还有一个协议浏览器,它可以同时显示一个类的所有方法和超级方法。要打开此浏览器,请在类的上下文菜单中选择browse protocol Ctrl+Shift+P。

如果要构建具有该行为的浏览器,请查看Glamour browser construction DSL


我个人不觉得有必要查看ProtoObject和Object中定义的所有34页方法名称,或5页方法类别。对象方法大小打印421。

在GemStoneTool中有这样一个东西,它似乎改变了视图,以查看类中所有可用的方法,无论是继承的还是类本身。我和你一样惊讶,在标准图像中没有类似的东西。也许用户知道这些库已经很久了,也许他们记得足够多,不必费心

只是检查一下我们在这里谈论的是完全相同的事情-我想做的是在检查ArrayedCollection时,例如,查看一个窗格,其中列出了从ArrayedCollection排序的方法,以及父类SequencableCollection(理想情况下为灰显形式)中的allButFirst等方法,以显示它未在当前类上实现。这也是你对我的要求的理解吗?>你是几年来第一个错过这一功能的人。这正好说明了人们的工作方式有多么不同——对我来说,这是一个关键特性。在我的个人副本中尝试重新实现它可能会对我有好处。@teapot7我想卢卡斯误解了你。他所指的是在类窗格中显示层次结构,您希望在方法窗格中看到继承的方法。我也是,我很想念这个。谢谢你在魅力浏览器上的提示——巧合的是,我两天前第一次听说它,听起来很棒。至于看到在对象上实现的所有两个无数方法,我似乎记得VisualWorks还是Dolphin?允许您查看在对象级别以下的超类上实现的所有方法上实现的方法-这肯定是您希望能够做到的。更模糊的记忆告诉我,我见过一个浏览器,你可以选择它开始显示祖先方法的级别,这甚至更好。好吧,听起来更实用。CalVisualWork默认显示对象下面的所有内容,你可以将其更改为任何超类。我想展示物体下面的一切应该足够好了。