この記事では、IDEが単に存在しないシステムで深刻な何かを開発する必要がある場合を考えたいと思います。 私の場合、これはFOnlineゲームエンジン用のスクリプトの開発であり、ハブ上で既に何度も記述されています。
FOnlineエンジンに関する少しの情報:
- そのスクリプトのために、狭い円ライブラリでよく知られているAngelScriptを使用しています
- 開発されたAPIを持っています
- 構文エラーのスクリプトを予備チェックするための別個のコンパイラーがあります
現在、スクリプトを記述するプロセスは、次の手順で構成されています。
- スクリプトを書く
- コンパイルされるかどうかを確認します
- スクリプトをサーバーに接続します
- ゲーム内のスクリプトを確認してください
もちろん、このような状況では、何かを開発することは非常に難しく、テストを実行するための既製のフレームワーク(TDDなし)もデバッガーもありません。
ただし、Notepad ++にはいくつかの制限がありますが、いくつかの利便性を実装できます。
- 構文の強調表示
- 自動補完
- ダブルクリックコンパイル
- 定義機能に移動
- クラス、変数などのマッピング
- 文書カード
- 前のカーソル位置へのクイックジャンプ
- 多かれ少なかれ便利な二重区切り文字の実装(単一引用符、二重引用符など)
もちろん、これは便利な開発には十分ではありませんが、少なくとも何かです。
さらにこの記事では、これらすべてをメモ帳++で実装する方法について詳しく説明しますが、不必要な質問が出されないようにするために、まずnppに表示したい機能がありますが、実装できない機能について説明します。
- バージョン管理システムとの統合
これは、差分の表示、コミット、迷子などのメニュー項目だけではないことを意味します。エディタで直接変更、追加、削除された行の表示を見逃しています。
同様のプラグインは、たとえばSublime-github.com/jisaacks/GitGutter用です。 もちろん、git専用です。
ところで、理想的には、クリックでこれらの変更をロールバックできるようにしたいのですが、IDEには表示されませんでした。
しかし、メモ帳++にはまだ似たようなものがあります。LocationNavigateプラグインです。 カーソル位置を記録する主な機能(前後に移動するため)に加えて、セッション中に変更された行も表示しますが、バージョン管理システムとは関係ありませんが、少なくとも何かです。 - スクリプトに実装されたエンティティのオートコンプリート
予約語の予約語と引数のオートコンプリートがありますが、オートコンプリートを目的としたスクリプトの自動解析はありません。
- デバッガー
しかし、これは驚くことではありません。デバッガもありません...
あなたのケースで何らかの形で利用できる場合、このプラグイン-DBGPを見ることができます。 私自身は理解できませんでした、私は何も言うことができません。
順番に。
構文の強調表示
メモ帳++の基本機能。 npp自体のインターフェースを含めて構成されます。

一般に、nppのユーザー定義言語を柔軟にカスタマイズする機能は非常に長い間存在していましたが、この機能がUDL 2.0と呼ばれるまったく新しいレベルに最近移行したことを誰もが知っているわけではありません
主な機能:キーワードのリストの作成、ブロックの構文の定義、これらのブロックの折りたたみ、数値形式の定義、そしてもちろんこれらすべてのスタイルの個別設定。
注:
nppの実行中にUDL設定を手動で編集しようとしないでください。プログラムを終了すると、すべての変更が消去されます。
自動補完
また、nppの基本機能ですが、インターフェースでは編集できなくなりました。今回は、xmlを手動で編集する必要があります。
主な機能:予約語と予約語のオートコンプリート、それらの説明の作成、関数パラメーターのヒント、戻り値に関する情報。 さらに、オーバーロードされた関数がサポートされています。
設定の詳細はこちら。
注:
オートコンプリートを正しく機能させるには、xmlの行をアルファベット順に正しく並べ替える必要があります(特殊文字と数字を考慮した並べ替えの詳細は、公式Wikiのどこかにありました)。 私は認めなければなりません、この瞬間は非常に迷惑です、xmlインターフェースがない場合、あなたは本当にそれを手動で編集しなければなりません(生成のためにあなたの自転車を書くことはなんとなく怠け者です)。
スマートコンパイラの出力処理
スクリプトの構文チェックのためにFOnlineスクリプトを開発するための環境の実装を始めたばかりのとき、スクリプトへのパスを渡す通常のバッチファイル呼び出しを長い間使用していました。 ただし、コミュニティのメンバーの1人が、EditOnをFOnlineと連携するように構成する方法についての指示を投稿しました。 このエディタでは、コンパイラの出力を解析する可能性が最初にあることが判明しました。 当時は、そのような機会はIDEにのみ存在し、テキストエディターのこの機能をだれも台無しにすることはないと確信していました。 ただし、EditPlusにそのような機能がある場合、N ++プラグインをもう一度使用することにしました。 驚いたことに、メモ帳++のソリューションが見つかりました: NppExecプラグイン。
設定は非常に柔軟です。プロセスについては説明しませんが、すべてが非常に単純であり、結果を表示するだけです:

ご注意
このプラグインでは、ツールバーでコンパイラを起動するボタンを追加できませんが、カスタムツールバープラグインはこれを実行します。
定義関数とエンティティリストの表示に移動
つまり、 SourceCookifierプラグインはこの目的に適しています。
機能:
- ユーザー定義の正規表現に基づいて、エンティティのさまざまなグループのリストを形成します:関数、クラス、変数、そして実際には何でも
- このすべてをリストに表示する
- Ctrlキーを押しながらクリックして、単語の定義に移動します
しかし、私たちがより詳細に話すと、短所について言うことはできません:
- Ctrl + 1つのファイル内をクリック
- エンティティのグループは純粋に形式的であり、一般的にユーザーによって定義されるため、少なくともUDLについては、クラス、変数などのツリー構造を見ることができません。
注:
- SourceCookifierについてはまだ十分に理解していないことに注意してください。また、上記が100%真実であることを保証することはできません。 誰かがエラーに気付いた場合、私は情報を喜んで受け取ります
- 多かれ少なかれよく知られている言語の「定義に行く」機能が必要な場合は、 TagsJumpプラグインを確認する必要があります。
文書マップ
最近、このファッショナブルな機能は、n ++ですぐに使用できます。
動作します。
前のカーソル位置へのクイックジャンプ
場所ナビプラグイン。
単一のファイル内で機能します。
さらに、n ++の開始以降に発生した保存済みおよび未保存のファイル変更を強調表示します。
注:
このプラグインの主な機能は、上記のSourceCookifierプラグインで実装されていることに注意してください。
括弧、引用符...
二重引用符と閉じ括弧の配置は、XBrackets Liteプラグインによって行われます。 解決策は理想からはほど遠いですが、少なくともいくつかはあります。
注:
bare n ++の設定では、ペアの文字の自動置換を有効にすることもできますが、この機能は非常に不器用に実装されており、より面倒です。
あとがき
現時点では、これは私が古き良きNotepad ++から絞り出したほとんどすべてのものです。
もちろん、Notepad ++はWindowsにのみ存在し、崇高はNotepad ++よりもはるかに優れていると不満を言うことができます。 EditPlusまたは本格的なIDE(もちろん、必要な機能のほとんどを自分で実装する必要があります)への切り替えをアドバイスできます。 Geanyの機能を拡張するためのかなりの機能を思い出してください。 ただし、個人的な経験に基づいて、メモ帳++は上記のタスクに最適です。 たぶん私は間違っている、私は上記がすでにあまりにも多くのコストなしでSublimeで実装されていると仮定することさえできます。 しかし、メモ帳++の場合のように、この機能はすべて、多くのプラグインとさまざまなドキュメントに散在しています。 もしそうなら、私はそれらについてもっと読みたいです。
ご清聴ありがとうございました。