ほとんどの場合と同様に、私はこの概念が以前に試されたことを確信しています-私が「仮想フォーマット」と呼んでいるものを使用するエディターに出会ったことがありません。原則は、コードをフォーマットするために開発者またはエディター自体によって従来挿入されていたパディングスペース/タブ文字の効果をシミュレートする浮動左マージンがあるということです。入力すると、エディターは(コメントアウトされている場合でも)コードを継続的に解析し、各改行が見つかったコンテキストに基づいて必要なインデントを計算します
XMLには文字の書式設定に特有の問題があり、入れ子になっている傾向があるため、特にXMLエディターを使用してこのアイデアを開発しています。ただし、多くの原則は従来のコードにも当てはまると思います。
そのようなツールを使ったコーディングの経験はありますか、それとも役立つか、妨げるかについての見解はありますか?バージョン管理システムで問題が発生しますか?(既存のパディング文字をすべて検出して取り除きます)
試していない限り、そのようなツールの動作を説明するのは困難です。実際に編集を開始するまでは、従来のように見えます。私は、XMLの編集、階層の変更、ドラッグ/ドロップ、コピーと貼り付けの操作、そして無効な文字が入力された場合のフォーマットの破損/修正を示す、プロトタイプの動作を示すスクリーンキャストビデオを公開しました。
編集 すべての回答/コメントはこれまで否定的でした-バランスを是正しようとするために、仮想フォーマットが考えるいくつかの利点:
- フォーマット標準についての議論は不要で、選択した/必須の規則に準拠する場所に改行を配置するだけです
- スペースが限られている場合(本/ブログ/ドキュメント)、ワードラップは可能ですが、完全なインデントを取得できます
- 各コードブロックには、画面の端に押し込まれずに、開始位置のすぐ隣に「マウスハンドル」があります。これをクリックして、ブロック全体または内部ブロックを選択します。
- ドラッグアンドドロップして忘れる-初めて実行可能になります
- 他の人々のコードを再フォーマットする時間はありません
- 正しくフォーマットされていないコードはありません(レンダリングがないという意味で)
- Ctrl + Backspaceの代わりにBackspaceを使用すると、キーボードのガイドキーを指で維持できます
- 柔軟なレンダリング-レンダリングされたフォーマットを環境に適合させます。誰かが携帯電話/小さな画面のタブレットでコードを読んでみましたか?
- 編集可能な文字が(サンプルXSLTで)およそ25%少ないと考えてください。効率の面でメリットはありませんか?
編集-これまでの結論
開発者は、インデントに使用される埋め込み文字の使用に固有の欠点のほとんどを効率的に克服するツールと作業方法を確立しています。
書式設定文字を削除すると、一部の差分ツールに悪影響が及ぶことが懸念されます。
開発者は、自動レンダリングでは処理できないような方法でフォーマットを「微調整」する柔軟性を求めています。
先頭のスペース/タブを削除すると、そのようなコードを効率的に確認するには、コードをフォーマットできる「コード認識」ツールが必要になります。プレーンテキストエディターではフォーマットが表示されません。
(仮想インデントに対して)いくつかの仮想的なメリットがある可能性があると感じている人は、デメリットがこれらの潜在的なメリットを決定的に上回っていると考えています。
編集-評決
障害の認識といくつかの利点(ある場合)は、一般的な言語向けにこのスペースのない編集コンセプトを追求することは、単一の開発者としては賢明ではありません。ただし、XML / XSLTの場合(空白の特別な処理のため)、少なくとも可能性についてはある程度の合意があるようです。
編集-出荷された製品
ここで一般的に否定的な感情があったにもかかわらず、私は編集者を出荷しました。私は実際の経験に基づいて、より具体的な問題という形で批判をもたらすことを期待して無料版を作成しました。ややイライラして、これまでのところ不満はありません(実際、ダウンロード量を考慮したフィードバックはほとんどありません)。これは、ユーザーがこれを「そう何なのか」と考えるほどうまく調整したためだと思います。一種の機能-しかし、伝える方法はありません...