2

最近、学校の C++ コース用に Visual Studio 2010 をインストールしました。私は、netbeans と eclipse で emacs スキームを使用することに非常に慣れています。これは、私の脳、ホットキーに組み込まれています。

私の欲求不満で、Visual Studio 2010 の emacs スキーム (拡張機能) をインストールし、ツール -> オプション -> キーボードでキーマップを有効にすると、自動インデントが機能しなくなり、気が狂いそうになります。

私は先生に尋ねましたが、彼は emacs を使っていないので、手がかりがありませんでした。ツール - >オプション - >テキストエディタ - >すべての言語 - >タブで自動インデントが実際にオンになっていることを確認しました。ここでは、「インデント」を賢く設定しすぎて、基本的に設定するだけです。OKキーを押しても何も起こらず、もう一度確認すると無効になっています。見た目の変更を保存しないか、emacs がデフォルトに戻します。したがって、基本的に「すべての言語」で自動インデントを有効にしようとすると、オーキーを押すと元に戻ります。

ただし、ツール -> オプション -> テキスト エディター -> C/C++ (上記のすべての言語ではなく) をチェックすると、インデントはスマートに設定されますが、エディターには影響せず、自動インデントはありません。

誰かがこれを経験したことがあり、私の状況で手を差し伸べることができれば幸いです. 矢印キーを使って移動するのは、私にとって苦痛なことです。

4

2 に答える 2

3

あなたが説明している動作は設計によるものです。Emacs は改行を自動インデントしません。Enter キーを押すと、新しい行がバッファーに追加され、キャレットが新しい行の最初の列に配置されます。自動インデント オプションを自動的にオフにして、その Emacs の動作を模倣します。

空の行でタブを押して行を自動インデントし、キャレットを正しい列に自動的に移動できることに注意してください。

Ray が指摘した問題は既に修正されており、お持ちの拡張機能のコピーには修正が含まれているはずです。ページを担当するプログラム マネージャーに連絡して、ページを更新し、既知の問題セクションを更新しました。

拡張機能をお試しいただきありがとうございます。問題が発生した場合は、 http://connect.microsoft.com/visualstudioでお気軽に不具合を報告してください。

于 2010-09-08T21:48:33.647 に答える
2

CTRL + Jの代わりにキーバインドを使用してくださいEnter。それはにバインドされています

Edit.EmacsBreakLineIndent

改行を挿入してインデントしますが、これは Emacs 固有の動作と同じです。

また、中括弧 {} の後に適切にインデントすることで、 「スマート」インデントをサポートしているようにも見えます (少なくとも、ReSharper がインストールされた VS C# テキスト エディターではそうです)。

于 2010-09-10T17:01:12.220 に答える