web-dev-qa-db-ja.com

{ENTER}ではなく{TAB}でNotepad ++の単語をオートコンプリートする方法はありますか?

Notepad ++で単語をオートコンプリートする方法はありますか Tab の代わりに Enter

現在、たとえばframeと入力する場合は、 Enter 代わりに、新しい行を開始します EnterframeElementのように、最初のオートコンプリート候補を選択します。

enter image description here

do オートコンプリート機能が必要ですが、次のようなキーが必要です Tab 実際の選択を行うのは Enter 多くの場合、新しい行を開始することを目的としていますが、 Tab 単語のをインデントするために使用されることはめったにありません(インデントは通常、 start の行で行われるため)。オートコンプリートに向けて。

5
Andrew Cheong

この望ましくない動作は、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に基づく別のテキストエディタ—に対しても同じことを行いましたが、機能しているようです。

4
Vasiliy Faronov

TabとEnterの両方の設定は、[設定]メニューのショートカットマッパーにあります。 Scintillaコマンドタブを参照してください。

ただし、Enterはすでにマップされているため、TabエントリをEnterに変更することはできません。

暗示されているように、これは組み込みのScintillaコンポーネントの機能であり、Notepad ++自体の障害ではありません。

enter image description here

enter image description here

4
Julian Knight

新しいバージョンでは、キーボードショートカットを変更するのは適切ではありません。
Tabの効果はEnterと同じです。

Notepad ++ 6.7.3を使用しています

1
user2427906