12

自分で作成する必要がある場合でも、プロポーショナルフォントIDEを本当に見たいです(おそらくVisual Studioの拡張機能として)。私が基本的に意味するのは、C++プログラミング言語の本の活字スタイルのようなコードのMSWordスタイルの編集です。

インデントにタブストップを設定し、関数の署名と代入ステートメントの行を並べたいのですが、固定文字の位置ではなくポイントで指定できます。太字と斜体もお願いします。さまざまなフォントサイズやスタイルシートでさえもかっこいいでしょう。

誰かがこのようなものを見たことがありますか、またはそれを構築し始めるための最良の方法を知っていますか?

4

13 に答える 13

16

人気のあるエディターまたはIDEにエラスティックタブストップを実装してもらいたいのですが。

于 2008-08-18T12:24:55.987 に答える
5

Thinking with Styleでは、Word や Writer などのお気に入りのテキスト操作ソフトウェアを使用することをお勧めします。リッチ XML でプログラム コードを作成し、コンパイラ関連のセクションを XSLT で抽出します。「Office」ソフトウェアは、すべての高度なテキスト操作および書式設定機能を提供します。

于 2008-10-20T07:05:11.787 に答える
4

私はあなたがその提案のためにダウンモッディングされて選ばれることを期待していました、しかしその考えにはいくつかの本当の意味があります。

コードエディタの従来の「非プロポーショナル」フォント要件の主な利点は、コードフォーマットを実行する負担を軽減することです。

しかし、最新のIDEで発生するすべてのインタラクティブな自動フォーマットを使用すると、プロポーショナルフォントによってコードの可読性が向上する可能性があります(多くの純粋主義者が期待するように、コードを妨げるのではなく)。

Roedy Green(彼の「保守不可能なコードの書き方」の記事で有名)と呼ばれるキャラクターは、Javaに基づいており、Baliと呼ばれる理論的なエディター/言語について書いています。非プロポーショナルフォントは正確には含まれていませんでしたが、フォントサイズが不均一であるという考えは含まれていました。

また、この短いJoel Spolskyの投稿は、非比例(および可変サイズ)フォントのサポートに役立つ、解決策である弾性タブストップ(別のコメント投稿者が述べたように)に投稿します。

于 2008-08-18T12:26:12.740 に答える
3

@トーマス・オーエンズ

そのようにフォーマットされたコードが読みやすいとは思いません。

それは問題ありません。これは単なる個人的な好みであり、同意できません。あなたが最善だと思う方法でフォーマットしてください。私はそれを尊重します。私はよく「これやあれをどのようにフォーマットすればよいですか?」と自問します。私の答えは常に、読みやすさを向上させるためにフォーマットすることです。

あなたのサンプルに関しては、左側のコードへの簡単な「インデックス」のような、右側に適切に配置された列があるのが好きです。そうは言っても、コード自体はそれほど多くの説明を必要としないはずなので、とにかくそのようなすべての行にコメントすることはおそらく避けます。もしそうなら、私はコードの上にパラグラフを書く傾向があります.

しかし、元のポスターからのこの例を考えてみてください。私の意見では、2番目のコメントのほうが見つけやすいです。

for (size-type i = 0; i<v.size(); i++) { // rehash:
    size-type ii = has(v[i].key)%b.size9); // hash
    v[i].next = b[ii]; // link
    b[ii] = &v[i];
}

for (size-type i = 0; i<v.size(); i++) {     // rehash:
    size-type ii = has(v[i].key)%b.size9);   // hash
    v[i].next = b[ii];                       // link
    b[ii] = &v[i];
}
于 2008-08-18T15:00:02.947 に答える
2

@トーマスオーエンス

しかし、人々は本当にそのようにコメントを並べますか?...宣言やコメントなどを並べようとはしませんが、これまでに見たのは教科書だけです。

はい、人々はコメントや宣言、そしてあらゆる種類のものを並べます。一貫して適切にフォーマットされたコードは読みやすく、読みやすいコードは保守が容易です。

于 2008-08-18T13:24:39.847 に答える
2

なぜ誰もあなたの質問に実際に答えないのか、なぜ受け入れられた回答があなたの質問と実際には何の関係もないのか疑問に思います. とにかく...

プロポーショナル フォント IDE

Eclipse では、システム上の任意のフォントを選択できます。

インデントにタブ位置を設定する

Eclipse では、「タブのみ」に設定するなど、自動インデントを構成できます。

関数シグネチャと代入ステートメントの行を並べる

Eclipse では、自動インデントがそれを行います。

固定文字位置の代わりにポイントで指定できます。

申し訳ありませんが、Eclipse は役に立たないと思います。しかし、それはオープンソースです。;-)

太字と斜体

エクリプスにはそれがあります。

さまざまなフォント サイズとスタイル シートさえあればクールだろう

Eclipse はファイルの種類 (Java ソース ファイルなど) ごとに 1 つのフォントとフォント サイズしか使用しないと思いますが、ファイルの種類ごとに異なる "スタイル シート" を使用できます。

于 2008-10-20T08:12:04.273 に答える
1

@Brian Ensink:そのようにフォーマットされたコードが読みやすいとは思いません。

int var1 = 1 //Comment
int longerVar = 2 //Comment
int anotherVar = 4 //Command

int var2       = 1 //Comment
int longerVar  = 2 //Comment
int anotherVar = 4 //Comment

個人的には、最初の行は2番目の行よりも読みやすいと思います。

于 2008-08-18T13:27:14.647 に答える
1

私が最後にEclipseを見たとき(少し前になりました!)、インストールされているフォントを選択して作業することができました。タブストップを使用したインデントの概念がサポートされているかどうかはわかりません。

見た目はかっこいいですが、コードは間違いなく読みづらかったです...

于 2008-08-18T12:21:23.343 に答える
1

Soeren:それはちょっといいです、IMO。しかし、人々は本当にそのようにコメントを並べますか?行末のコメントには、使用している言語に応じて、常に1つのスペースを使用し、次に//または/*または同等のものを使用します。私は宣言やコメントなどを並べようとはしません。これまでに見たのは教科書だけです。

于 2008-08-18T12:27:56.277 に答える
1

あなたの質問のインデント部分は、実際の製品で今日行われていますが、おそらくあなたが想像していたよりもさらに大きなレベルの自動化が行われています. ) 従来のコード構文。

これは、すべての感覚をつかむために実際にビデオで見なければなりません (音楽のバックトラックについては申し訳ありません)。また、テクノロジーのデモンストレーターとして機能する軽量の XML エディターのスピンオフ製品であるXMLQuireもあります。

以下のスクリーンショットは、この XSLT IDE で非常に複雑なフォーマット規則でフォーマットされた XML を示しています。すべてのインデントは、スペースやタブ文字ではなく、左マージンを使用してワープロ スタイルで実行されます。

ここに画像の説明を入力

この書式設定の概念を強調するために、すべての文字が強調表示され、インデントを維持するために左マージンが拡張されている場所が示されています。私はこれを説明するために仮想書式設定という用語を使用します。これは弾性タブ停止とは異なり、単にタブがなく、「段落」書式設定の一部である余白情報だけがあるためです (ここでは RTF コードが使用されています)。パーサーは、構文の色付けと同じパスで継続的に再フォーマットします。

ここではプロポーショナル フォントは使用されていませんが、インデントが TWIPS で設定されているため、非常に簡単に使用できたはずです。コード (この場合は XML) をリファクタリングするとき、おそらくドラッグ アンド ドロップを使用するか、属性値の長さを拡張することによって、インデントが収まるようにリフローされるため、編集エクスペリエンスは非常に魅力的です。タブはありません。キーまたは「再フォーマット」ボタンを押します。

したがって、インデントはありますが、フォントの作業はより複雑な問題です。私はこれを試しましたが、入力時にフォントが再選択されると、コードの水平方向のシフトがあまりにも気を散らすことがわかりました.おそらく、ユーザーが開始した「フォントのフォーマット」コマンドが必要になるでしょう. この製品には、コードに注釈を付けるための Ink/Handwriting テクノロジも組み込まれていますが、ライブ リリースではまだこれを活用していません。

于 2011-09-12T20:47:10.847 に答える
0

人々は皆、コメントが並んでいないことに不平を言っています。

非常に単純な解決策があるように私には思えます:ユニットスペースをフォントの最も広い文字として定義します。ここで、スペースを除くすべての文字を均等に配置します。スペースは、行の先行するすべての文字がフォントで最も広い場合に次の文字を並べるために、できるだけ多くのスペースを占有します。

すなわち:

iiii_space_Foo

xxxx_space_Foo

「Foo」を並べ、「i」の後のスペースは「x」の後のスペースよりもはるかに広くなります。

それを弾性空間と呼んでください。タブストップではなく。

あなたが賢い編集者なら、コメントを特別に扱いましょう。

于 2010-06-19T19:04:24.307 に答える
-1

プロポーショナル フォントの主な問題は、コードの垂直方向の配置が崩れることです。これは、コードを記述する際にかなり大きな損失となります。

垂直方向の配置により、切り取り、コピー、貼り付け、削除、インデント、インデント解除などのブロック操作を簡単に実行できるため、複数行にまたがるコードの長方形ブロックを操作できます。

例として、次のコード スニペットを考えてみましょう。

a1 = a111;
B2 = aaaa;
c3 = AAAA;
w4 = wwWW;
W4 = WWWW;

等幅フォントでは、=; すべて並びます。

このテキストをWordにロードし、プロポーショナル フォントを使用して表示すると、テキストは効果的に次のようになります。

注: =;がどのように機能するかを示すために余分な空白が追加されました。もう並ばない:

a1 = a1 1 1;
B2  = aaaa;
c3 = A A A A;
w4 = w w W  W;
W4  = W W W  W;

垂直方向の配置がなくなると、これらの素敵なコード ブロックが効果的に消えます。

また、カーソルが垂直方向に移動することが保証されなくなったため (つまり、行ごとに列番号が常に一定であるとは限らない)、似たような行を操作するように設計された破棄マクロ スクリプトを記述することがより困難になります。

于 2008-10-20T07:46:28.660 に答える