-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
スペースインデントされたファイルに対してはTabキーでスペースインデントするように自動で切り替えるべき #1924
Comments
オプションは必須です。将来EditorConfigにより上書きできるようにする必要があります。
ファイル全体(または広範囲領域)ではなく、あえて周辺行だけに限定する実装上の制約はありますか? |
1ファイルの中で複数のインデントスタイルが併用される事もあるので、それに対応するとなるとカーソル周辺行のインデントスタイルに合わせられるようにした方が良いと思います。ただ周辺行からインデントスタイルが判断出来ない場合もあると思うので、まずは1ファイル全体のインデントスタイルの検出を実装してから考慮した方が良いかもしれないですね。 |
Emacsがデフォで混合インデントすることは知っていますが、他はありますか? その場合はひとまず現在のようにタブキーでタブ文字が入力されるような実装にするとよいのでしょうか? |
あるべき設定構造はこんな感じだと思います。
今回やりたいのはたぶん6。 どうあるべきか?どうあったら便利か?を考えるところが、 |
他のエディタは5.の実装しか知りません。6.の実装例はご存知ですか? |
検索してみたんですが全然見つかりませんでした。という事で世の中的に需要は特に無いのかもしれません。 |
@tats-u @berryzplus 「SPACEの挿入」設定を切り替えるマクロ関数を追加しました。 編集ファイルのインデント検出はマクロでも行えると思うので、既存の もし #1929 がmergeされたら、編集ファイルのインデントスタイルに合わせた一時設定を行うようにするマクロを書いてみようと思います。サクラエディタ本体に機能を実装するのはその後でも良いのではないかと思います。 |
組み込みマクロということですか? WSH系→セキュリティ上の問題から無効化しているケースあり。(https://qiita.com/akilab/items/cbcb1ba8621f8cc3aef4・https://www.softwareisac.jp/ipa/index.php?Windows+Script+Host%E3%81%AE%E5%88%B6%E5%BE%A1%E8%A8%AD%E5%AE%9A)JScriptはIE搭載のエンジンベースなのでES6以降非対応。 |
マクロの他にプラグインにするという手もありそうです。 本体機能として最初から付いてた方が使う方は手間が掛からないのは確かですね。試しに実装してみます。 |
Enterキー押下時に次行をインデントするか判定するために行頭をチェックしているので、走査範囲を拡張したら実現できないかな?と思って書きました。5と6は無効にできたほうが便利かな?と思っていたので「ハナから要らん」ならそれで良いです。 |
サクラエディタのスマートインデントを強化して色々なインデントスタイルへの対応度が上がると良いなとはなんとなく思ってます。 |
同意です。基本的にEditorConfigなど含めて、ファイル全体でタブ/スペースのどちらかに統一するパターンが多いです。
よく考えたらコア機能のためにわざわざJSエンジンを呼び出しに行くのはどうなのかなと思いました(DLLはまだマシだがWikiには未安定と書かれていた) |
#1931 がmergeされてこのissueの要求は満たせたと思うのでcloseします。 タイプ別設定の支援タブの画面下のチェックボックスで機能の有効無効を設定できます。 |
ビルドして確認してみましたがデフォでオフですか・・・ |
おっしゃる通りですね。しばらく待って不具合報告が無ければデフォルト値をオンにするPRを作成します。 |
問題内容
#786 の前提となる問題として。
本エディタはVS Code等と異なり、半角スペースでインデントされたファイルに対し、プログラマーがTabキーでインデントしようとしても、忖度一切なしに不適切であるタブ文字を挿入します。
開いたテキストファイルのインデントスタイルを検知し、Tabキーを押した際に挿入される文字の種類や個数を変えるのが、ソースコードをいじる資格があるテキストエディタの最低要件です。
これを解決しないと #786 はいつまで経っても解決できません。
Q. あとからスペースに変換すればいいのでは?
A. フールプルーフ。VS Codeではなくあえてこちらを使ってソースコードをいじろうとする人間にそんな思考は及びません。
再現手順
Tabが挿入されるのは不適切です。開いたファイルをスキャンし、インデント幅に合ったスペースを挿入してください。
再現頻度
100%
問題のカテゴリ
環境情報
Windows 11 Pro 64bit
2.4.2
特定環境固有ではありません。
スクリーンショット
Video.webm
Safari以外で再生可能
The text was updated successfully, but these errors were encountered: