在Lion中禁用替换

Pra*_*ant 1 cocoa

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

但这也行不通.

Pet*_*sey 5

在Cocoa中,替换功能称为"自动文本替换".要在NSTextView禁用它,发送文本查看一个setAutomaticTextReplacementEnabled:消息.

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

WebAutomaticDashSubstitutionEnabled,因为正如它的名字一样,它是一个WebKit的功能偏好是不相关的.NSTextView是AppKit的一部分,不使用WebKit.此外,NSTextView支持的自动短划线替换也是一个不同的功能.