在Lion中禁用替换

时间:2011-12-10 01:13:14

标签: cocoa

我的Cocoa应用程序使用NSTextView。它是一种编辑器应用程序。现在在10.6中有字符替换,因此(c)成为版权。我的申请没有在10.6中进行替换。我没有添加任何额外的代码。但在10.7中,替代正在发生。这对刚刚迁移到狮子的客户造成了混乱。我知道我可以编写一个AppleScript来禁用语言和文本中的复选框。但还有其他选择吗? 我也试过了 defaults write -g WebAutomaticDashSubstitutionEnabled -bool false。

但这也行不通。

1 个答案:

答案 0 :(得分:5)

在Cocoa中,替换功能称为“自动文本替换”。要在NSTextView中禁用它,请发送文本视图a setAutomaticTextReplacementEnabled: message

但是,您应该考虑在您的应用程序中禁用它是否真的合适。如果您的编辑器用于代码或数据文件,那么是的,您可能应该禁用它。但是,如果它是用于编辑文本文件,则最好将其设置为默认值,并让用户自己发现该功能(如果他们不想要,则将其自行关闭)。如果您的应用程序是可以在文本或代码上使用的文本编辑器,您可以根据文件的格式设置它 - 例如,为Markdown启用它,但为Python禁用它。

WebAutomaticDashSubstitutionEnabled首选项不相关,因为正如其名称所示,它是一个WebKit功能。 NSTextView是AppKit的一部分,不使用WebKit。此外,NSTextView支持的自动短划线替换也是a different feature