タブでインデントしてるところにインデントガイドが表示されない
-
タブ(\t)でインデントしているところにインデントガイドが表示されません。
折り返しインデントを有効にしている場合の2行目以降はインデントガイドが表示されます。「表示→記号」でタブ記号の表示/非表示どちらでもです。
Win10home(22H2), Mery(x64) 3.5.6
| 村人 | 返信 -
横からすみません。
気になって私の環境でも見てみたところ、こちらでは大丈夫そうでした。
https://imgur.com/a/nX0r8uK何か特定の条件があるのかもしれませんね。発生するサンプル文なんかを提供してみるといいかもしれません。
| yuko | 返信 -
ご報告ありがとうございます。yuko さん、ご協力ありがとうございます。
私の環境でも確認してみましたが、特に問題なさそうでした。
考えられる原因としては…
・タブの数の問題?
→ VS Code だとタブ 1 つからインデント ガイドが表示されますが、Mery は行番号の縦線と干渉するので、タブ 2 つからインデント ガイドが表示されます。
・フォントの問題?
→ プロポーショナル フォントをお使いの場合、正しい位置にインデント ガイドが表示されないことがあるのかもしれません。
> 何か特定の条件があるのかもしれませんね。発生するサンプル文なんかを提供してみるといいかもしれません。
そうですね、サンプル文をいただけると私のほうでも検証しやすいので助かります。
| Kuro | 返信 -
追伸、もうひとつ原因が思い浮かびました。
もしかして [オプション] > [表示] > [表示項目] の一覧から [タブ] の項目で、[背景色] を設定されてたりしますか?
インデント ガイドは文字よりも先に描画されるので、その上からタブの背景色が描画されることで見えなくなっているのかもしれません。
もしそうであれば、インデント ガイドは文字よりあとに描画するようにしたほうが良いかもしれませんね。
| Kuro | 返信 -
> もしかして [オプション] > [表示] > [表示項目] の一覧から [タブ] の項目で、[背景色] を設定されてたりしますか?
>
> インデント ガイドは文字よりも先に描画されるので、その上からタブの背景色が描画されることで見えなくなっているのかもしれません。これでした。タブの背景色を透明にしたら表示されました。
| 村人 | 返信 -
ご返信ありがとうございます。
> これでした。タブの背景色を透明にしたら表示されました。
そうでしたか。タブの背景色ということであれば、インデント ガイドのほうを優先して描画すればうまくいきそうなので、次のバージョンでは対応しておきますね。
| Kuro | 返信 -
Ver 3.5.5 以前でエクスポートしたテーマをインポートした際も文字色が「透明」になっていてインデント ガイドが表示されませんでした。
インポート後に文字色を「カスタム」に変更すると表示されます。
| ucky | 返信 -
すみません、DirectWrite も関係するみたいです。
試した手順は以下です。
設定を削除して起動しオプションから
・Ver 3.5.5 以前でエクスポートしたテーマをインポートして選択
・インデント ガイドを表示にチェックこの時点ではインデントガイドが表示されます
再度オプションから
・DirectWrite を有効にするにチェックするとインデント ガイドが消えてしまうようです。
| ucky | 返信 -
ご報告ありがとうございます。
Ver 3.5.5 以前でエクスポートしたテーマの場合、インデント ガイドの項目自体がありませんから、それを Ver 3.5.6 でインポートすると、[透明] (デフォルト値) になってしまいますが、これは仕様上の制限事項ということでご了承ください。
また、文字色に [透明] を指定した場合の挙動ですが、これは [インデント ガイド] に限らず、[水平罫線] や [折り返し線] も同様、表示されなくなってしまうようです。
これらの線に、[透明] をわざわざ選ぶユーザーさんもいないと思うので、[透明] が選択されているときは [通常] の [文字色] を適用する、といった感じの対策になりそうです。
[オプション] ダイアログの [サンプル] だとそういった仕様になっていたので、そちらに合わせるかたちですね。
| Kuro | 返信 -
修正お疲れ様です。
投稿した手順でインデント ガイドが表示されることを確認しました。
素早い対策ありがとうございました。
| ucky | 返信 -
ご確認ありがとうございます。
背景色から自動的に計算…とかも考えたのですが、ベータ版の機能ですし、廃止の可能性もあるので、とりあえず、上記の仕様で対応してみました。
あと、DirectWrite の関係ですが、DirectWrite を使うと [透明] をそのまま透明として扱ってくれるのですが、GDI (DirectWrite オフ) だと、[透明] は黒として描画されてしまうみたいで、今回の現象が発生していたようです。
| Kuro | 返信