【问题标题】:How to print Smalltalk code from Pharo/Squeak?如何从 Pharo/Squeak 打印 Smalltalk 代码?
【发布时间】:2010-07-07 21:16:31
【问题描述】:

最好的打印方式是什么 - 语法颜色和格式正确 - Pharo/Squeak 的代码在纸上?

1) 有没有办法直接从 Pharo/Squeak 中打印? (我在 macOS 上使用它)
2) 有没有办法从 Pharo/Squak 导出语法颜色、格式正确的代码?
3) 是否有外部工具可以对已归档的代码进行着色和格式化?

【问题讨论】:

    标签: printing syntax-highlighting smalltalk squeak pharo


    【解决方案1】:

    对于我的master thesis 中的附录,我使用了Pier-Documentation 包中的Pier CMS-to-LaTeX 转换器。但是,这个插件只考虑了类 cmets 和方法 cmets,它不打印源代码。 Pier 还提供了一个包ShoutPier 用于Smalltalk 代码的语法突出显示,所以我想将两者结合在一起需要很少的工作。您可以在http://source.lukas-renggli.ch/pieraddons.html 中找到提到的扩展包。

    【讨论】:

    • 谢谢。我能够使用 PRLatexBuilder 获得一些不错的打印输出。
    • 尽管如此,我希望这样的事情会成为一项常见任务并内置到标准系统中。但似乎人们不经常在纸上打印代码?
    • 早期版本的 Squeak(大约 3.0 版)有一个类似于今天仍然存在的文件输出机制的 HTML 导出器。我想这可能适用于打印。它在某个时候被移除了,因为没有人使用它并且随着时间的推移它坏了。
    【解决方案2】:

    Pharo browsers seem to use syntax highlighting.

    您在使用浏览器和发送者/实现者阅读 Smalltalk 代码时遇到什么困难?

    编辑:会产生 UML give the overview you're looking for 的东西吗? Dandelion 网站只显示 downloads for old Squeak versions - 我不知道他们是否会与 Pharo 合作。

    也许这个 GSoC 项目"Generate UML diagrams from Smalltalk code for Pharo" 建议不要。

    【讨论】:

    • Pharo 浏览器不错。只是我的桌子比我的屏幕大得多——所以我可以一次查看更多的代码——而且我认为更容易获得“大图”。目前我从 Pharo 浏览器为每个班级打印屏幕截图 - 这给了我一些 crc-cards 精神的东西 (c2.com/doc/crc/draw.html)
    • @roy-fleming - 我从来没有想过用 Smalltalk 来做这件事,所以这让我很困惑。
    【解决方案3】:

    这是我在 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. 您需要稍微编辑一下,以删除 !例如,可能有一个工具可以做到这一点?

    -埃里克。

    【讨论】:

    • 一种稍微简单的方法:在 Pharo 中,您可以在类上使用 File Out,这将生成一个 .st 文件(在我的 Mac 上,我必须打开 Pharo 包的内容才能找到该文件),然后继续上面的第 4 步。
    【解决方案4】:

    有一个 webdoc 项目,它允许您在网络浏览器中导航代码: http://ss3.gemstone.com/ss/webdoc.html (当然你可以从你最喜欢的网络浏览器打印代码)..

    【讨论】:

      【解决方案5】:

      1) 从 www.squeaksource.com 安装喊叫

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

      3) 在 gnu-smalltalk 中,您有一个用于 emacs 的 smalltalk 模式。但我不太确定你在寻找什么。

      【讨论】:

      • 我正在寻找一种阅读 smalltalk 代码的方法。我想把它打印在纸上(问题不在于 smalltalk-browser 中的“pretty-print”)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多