如何从Pharo/Squeak打印Smalltalk代码?

7

如何将Pharo/Squeak中的代码打印到纸上,使其保留语法高亮和良好格式?

1)是否有从Pharo/Squeak内部直接打印的方法?(我在macOS上使用它)
2)是否有导出语法高亮、格式良好的Pharo/Squak代码的方法?
3)是否有外部工具可以对一个已导出的代码文件进行着色和格式化?

5个回答

3

在我的硕士论文的附录中,我使用了Pier CMS-to-LaTeX转换器,它包含在Pier-Documentation包中。然而,该插件仅考虑类注释和方法注释,不打印源代码。Pier还提供了一个ShoutPier包,用于对Smalltalk代码进行语法高亮,因此我想将两者结合起来可能需要很少的工作。您可以在http://source.lukas-renggli.ch/pieraddons.html中找到上述扩展包。


谢谢。我能够使用PRLatexBuilder得到一些漂亮的打印输出。 - Helene Bilbo
不过我原本希望这样的任务很常见,并内置于标准系统中。但似乎人们并不经常将代码打印在纸上? - Helene Bilbo
早期版本的Squeak(大约在3.0版本左右)具有类似于今天仍然存在的文件输出机制的HTML导出器。我猜那可能适用于打印。它在某个时候被删除,因为没有人使用它并且随着时间的推移它变得不可用。 - Lukas Renggli

1

有一个名为Webdoc的项目,它允许您在Web浏览器中导航代码: http://ss3.gemstone.com/ss/webdoc.html (当然,您也可以从您喜爱的Web浏览器中打印代码)。


1

1
Pharo浏览器很好用。只是我的桌子比屏幕大得多,所以我可以一次查看更多的代码,并且我认为这样更容易获得“全局视图”。 目前,我会为每个类从Pharo浏览器中打印屏幕截图,这让我想起了crc-cards(http://c2.com/doc/crc/draw.html)的精神。 - Helene Bilbo
@roy-fleming - 我从未被诱惑过用Smalltalk做那件事,所以这让我感到非常困惑。 - igouy

1
这是我在Mac上的操作方式,我认为这个方法也适用于其他平台。
  1. 将您的类别保存到Monticello本地文件夹中——请参阅Pharo手册了解如何操作:http://book.pharo-project.org/book/PharoTools/Monticello/?_s=hdGOLc_FXsvVY1iR&_k=YYH-Ln8f5mtWZ8z2&_n&148

  2. 浏览到此文件夹,并解压.mcz文件

  3. 您会看到所有代码都在snapshot/source.st文件中

  4. 您需要对其进行一些编辑,例如删除!字符,也许有一个工具可以做到这一点?

-Eric.

一个稍微简单的方法:在Pharo中,您可以对一个类使用“File Out”命令,这将生成一个.st文件(在我的Mac上,我需要打开Pharo包内容才能找到此文件),然后按照上面的第4步继续操作。 - Eric Clack

0

1) 从www.squeaksource.com安装shout。

2) 我不知道。也许你可以自定义shout。

3) 在gnu-smalltalk中,你可以使用emacs的smalltalk模式。但我不太确定你要找什么。


我正在寻找一种阅读 Smalltalk 代码的方法,并且想要将其打印在纸上(问题不是关于在 Smalltalk 浏览器中“漂亮地打印”)。 - Helene Bilbo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接