「Xamarin.MacでNSTextViewのスマートクォートを無効化する」の版間の差分
imported>Administrator |
imported>Administrator 細 Administrator がページ「Xamarin.Mac/NSTextViewでスマートクォートを無効化する」を「Xamarin.MacでNSTextViewのスマートクォートを無効化する」に移動しました |
||
| (2人の利用者による、間の4版が非表示) | |||
| 2行目: | 2行目: | ||
== 概要 == | == 概要 == | ||
NSTextViewのスマートクォートを無効化したい。 | NSTextViewのスマートクォートを無効化したい。 | ||
[[Xamarin.Mac]]で開発している社内アプリの設定画面に、アプリ起動時に実行する[[AppleScript]]を入力する欄をNSTextViewで作ったわけだが、ここにクォートを入力するとスマートクオートが発動して実行できないAppleScriptに勝手に置き換えられてしまう[[不具合]]が発生した。 | |||
たとえば以下のようなAppleScriptのダブルクォート部分がダメになる。 | |||
<source lang="applescript"> | |||
tell application "Safari" | |||
activate | |||
end tell | |||
</source> | |||
== 解決策:OSレベルで無効化する == | == 解決策:OSレベルで無効化する == | ||
| 13行目: | 22行目: | ||
== 解決策:NSTextView単位で無効化する == | == 解決策:NSTextView単位で無効化する == | ||
[[ | OSレベルでの解決方法が確実なのだろうが今から社内にある500台くらいの[[Mac]]に設定して回るとか正気の沙汰とは思えないので自動アップデートを搭載したアプリ単位で解決したい。 | ||
XIBファイルを開きNSTextViewの設定項目を眺めているとスマートクォート関連の設定があったわけだが、なぜかこのチェックを付けても外しても無効化できない。古い[[Mac OS X]]では動くようだが最近のやつはダメなようだ。 | XIBファイルを開きNSTextViewの設定項目を眺めているとスマートクォート関連の設定があったわけだが、なぜかこのチェックを付けても外しても無効化できない。古い[[Mac OS X]]では動くようだが最近のやつはダメなようだ。 | ||
| 27行目: | 36行目: | ||
// disable Smart Quotes | // disable Smart Quotes | ||
// よくわからんのでAutomaticで始まるプロパティ全部にfalseを設定してみた | // よくわからんのでAutomaticで始まるプロパティ全部にfalseを設定してみた | ||
_nsTextView.AutomaticDashSubstitutionEnabled = false; | |||
_nsTextView.AutomaticDataDetectionEnabled = false; | |||
_nsTextView.AutomaticLinkDetectionEnabled = false; | |||
_nsTextView.AutomaticQuoteSubstitutionEnabled = false; | |||
_nsTextView.AutomaticSpellingCorrectionEnabled = false; | |||
_nsTextView.AutomaticTextReplacementEnabled = false; | |||
_nsTextView.EnabledTextCheckingTypes = 0; | |||
} | } | ||
} | } | ||