gpt4 book ai didi

smalltalk - Pharo:如何使 Cmd+d ("do it")默认执行整个多行语句,而不仅仅是当前行

转载 作者:行者123 更新时间:2023-12-02 23:08:10 26 4
gpt4 key购买 nike

假设我有一个像这样的多行语句:

1 to: 5 do: [:i|
Transcript show: i.
Transcript cr].

目前,当我将文本光标放在某行上(不选择任何内容)并按 Cmd+d 时,Pharo 会尝试执行当前行。但如果默认情况下(当没有选择任何内容时)Pharo 将执行当前语句(即所有这三行语句),而不仅仅是当前行,这对我来说会更方便。因为这是比“我想执行语句内的这一特定行”更常见的情况(“我想执行整个语句”)(在大多数情况下,这在语法上没有意义,因为第一行和第三行这里)。在这些后面的情况下(当我需要在语句中执行一行时)我会手动预先选择该行。

我怎样才能实现这个目标?

最佳答案

回答您的问题:看一下文本组件。它有一些评估、选择和执行的方法。如果没有选择任何内容,它会尝试选择当前行。您可以更改此实现以查找最顶层的语句“范围”。如果您使用代码 AST 而不是文本,这是可能的。我曾经使用过这个方法,以使注释内的代码表达式更加智能。(这并不适用于所有情况,因为在不同的工具(浏览器)中,获取方法 AST 的上下文对于此文本组件并不总是相同/工作空间/和其他))

关于smalltalk - Pharo:如何使 Cmd+d ("do it")默认执行整个多行语句,而不仅仅是当前行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40069513/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com