「Xamarin.MacでNSTextViewのスマートクォートを無効化する」を編集中
ナビゲーションに移動
検索に移動
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 | 編集中の文章 | ||
3行目: | 3行目: | ||
NSTextViewのスマートクォートを無効化したい。 | NSTextViewのスマートクォートを無効化したい。 | ||
− | + | == 解決策:OSレベルで止める == | |
− | + | スマートクォートは[[Mac OS X]]に標準搭載されているビッグなお世話なゴミ機能であり、OSレベルで根本から止めるのであれば以下の手順になる。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | == | ||
− | スマートクォートは[[Mac OS X]] | ||
* システム環境設定 | * システム環境設定 | ||
* キーボード | * キーボード | ||
22行目: | 13行目: | ||
== 解決策:NSTextView単位で無効化する == | == 解決策:NSTextView単位で無効化する == | ||
− | + | [[Xamarin.Mac]]で開発している社内アプリの設定画面にアプリ起動時に実行する[[AppleScript]]を入力する欄をNSTextViewで作ったのだが、スマートクオートが発動して実行できないAppleScriptに勝手に置き換えられてしまう[[不具合]]が発生した。 | |
− | + | XIBファイルを開きNSTextViewの設定項目を眺めているとスマートクォートがあったわけだが、なぜかこのチェックを付けても外しても無効化できない。古い[[Mac OS X]]では動くようだが最近のやつはダメなようだ。 | |
上記と似たようなことを[[プログラム]]から叩いてやると最近の[[Mac OS X]] ([[Yosemite]])でも無効化できた。なぜかは知らん。たぶんこの方法は[[MonoMac]]でも行けると思うが試してはいない。 | 上記と似たようなことを[[プログラム]]から叩いてやると最近の[[Mac OS X]] ([[Yosemite]])でも無効化できた。なぜかは知らん。たぶんこの方法は[[MonoMac]]でも行けると思うが試してはいない。 | ||
36行目: | 27行目: | ||
// disable Smart Quotes | // disable Smart Quotes | ||
// よくわからんのでAutomaticで始まるプロパティ全部にfalseを設定してみた | // よくわからんのでAutomaticで始まるプロパティ全部にfalseを設定してみた | ||
− | + | _startupScript.AutomaticDashSubstitutionEnabled = false; | |
− | + | _startupScript.AutomaticDataDetectionEnabled = false; | |
− | + | _startupScript.AutomaticLinkDetectionEnabled = false; | |
− | + | _startupScript.AutomaticQuoteSubstitutionEnabled = false; | |
− | + | _startupScript.AutomaticSpellingCorrectionEnabled = false; | |
− | + | _startupScript.AutomaticTextReplacementEnabled = false; | |
− | + | _startupScript.EnabledTextCheckingTypes = 0; | |
} | } | ||
} | } |