Notepad ++で単語をオートコンプリートする方法はありますか Tab の代わりに Enter?
現在、たとえばframe
と入力する場合は、 Enter 代わりに、新しい行を開始します EnterframeElement
のように、最初のオートコンプリート候補を選択します。
do オートコンプリート機能が必要ですが、次のようなキーが必要です Tab 実際の選択を行うのは Enter 多くの場合、新しい行を開始することを目的としていますが、 Tab 単語の後をインデントするために使用されることはめったにありません(インデントは通常、 start の行で行われるため)。オートコンプリートに向けて。
この望ましくない動作は、Notepad ++の基礎となるテキスト編集コンポーネントである Scintilla にハードコードされています。 src/ScintillaBase.cxx
から次の3行を削除することで修正できます。
case SCI_NEWLINE:
AutoCompleteCompleted(0, SC_AC_NEWLINE);
return 0;
この変更により、Enterキーはオートコンプリートをコミットしなくなりました。 user2427906が指摘しているように、Tabキー すでにそれを行っています 。
ダウンロード Notepad ++(Scintillaを含む)のソースコード、scintilla\src\ScintillaBase.cxx
で上記の変更を行うことができるはずです(コードはNotepad ++ 6.9では少し異なりますが、そうではないはずです)問題)、次に Build Notepad ++ 変更されたソースコードから。
Notepad ++もWindowsも使用していないため、これを試していませんが、 Geany — Scintillaに基づく別のテキストエディタ—に対しても同じことを行いましたが、機能しているようです。
TabとEnterの両方の設定は、[設定]メニューのショートカットマッパーにあります。 Scintillaコマンドタブを参照してください。
ただし、Enterはすでにマップされているため、TabエントリをEnterに変更することはできません。
暗示されているように、これは組み込みのScintillaコンポーネントの機能であり、Notepad ++自体の障害ではありません。
新しいバージョンでは、キーボードショートカットを変更するのは適切ではありません。Tab
の効果はEnter
と同じです。
Notepad ++ 6.7.3を使用しています