ソースコードタグシステムとの統合
ctagsやglobalやcscopeといったソフトは、ソースコードを解析し、どの関数、シンボルがどこで定義されているかといった情報をタグファイルに出力することができます。
UNIXの世界のvimやemacsといったエディタはこうしたソースコードタグシステムとの連携に優れ、プログラマの生産性を上げています。
EmEditorにおいても、これらのソフトのタグファイルを読み取って、
・シンボル定義一覧の表示とジャンプ
・シンボルの強調表示
・シンボルの入力補完
を一貫して行えるように統合されているとプログラマには手放せないものになるのではないでしょうか?
将来のメジャーバージョンアップでの追加機能となれば嬉しいです。
一度、ソースコードタグシステムとの統合を要望させていただきましたが、マクロからアウトプットバーへの出力が可能になったことで、
・シンボル定義一覧の表示とジャンプについては、タグファイルというものがテキストファイルであることもあってマクロで実現できる機能となりました。
・シンボルの強調表示 ・シンボルの入力補完については、たとえば、C++の設定でc:tagsファイルのシンボルを強調したいときは、C++設定のコピーを作って"C++/C:tags"という新しい名前の設定をつくり、その設定でtagsのシンボルを強調キーワードとして追加すると強調表示と補完の両方を達成できるのではないかと一度考えました。しかしこれだと、tagsを読み込むたびに設定の数が増え、手作業で消す必要があり使い勝手が悪いです。 強調キーワードが静的に設定に属するものとして設定されるのではなくて、セッションやドキュメントごとに揮発性のある一時設定としてキーワードをマクロから追加でき、単語補完もそれに対応できるようになっていると、ダイナミックに変化するtagsのシンボルの強調にも対応できます。 また、 https://emeditorjp.wpengine.com/modules/newbb/viewtopic.php?viewmode=flat&topic_id=293&forum=2 のような要望にもこたえることが出来ると思います。 あとは、マクロのイベント対応があれば、ファイルオープン時に上のようなキーワード登録を行うことも可能になり、環境としては完璧になります。
https://emeditor.web.fc2.com/EmMacros.html#CtagsSearch
新しく追加されたマクロからアウトプットバーへの出力機能を使ってTagsシンボル検索マクロを作り公開しました。
後はTags中のシンボルの強調を行いたいのですが、一時強調キーワード追加が出来ないことのワークアラウンドとして、たとえば"C++"の設定をもとに"C++-tagsシンボル強調"という新しい設定を作ってそちらにシンボルをキーワードとして追加というようなことをしたいと思っています。
しかし、設定のコピーや削除、名前変更などはダイアログからは可能ですが、マクロからは不可能なようでした。もし当面一時強調キーワード追加機能を実装する予定が無いようでしたら、そしてもし実装が簡単なようでしたら、先にマクロから設定のコピーや削除、名前変更などができるようにしていただければありがたいです。
勝手ばかり申し上げますがどうぞよろしくお願いいたします。
Aye Wongは書きました: 後はTags中のシンボルの強調を行いたいのですが、一時強調キーワード追加が出来ないことのワークアラウンドとして、たとえば"C++"の設定をもとに"C++-tagsシンボル強調"という新しい設定を作ってそちらにシンボルをキーワードとして追加というようなことをしたいと思っています。 しかし、設定のコピーや削除、名前変更などはダイアログからは可能ですが、マクロからは不可能なようでした。もし当面一時強調キーワード追加機能を実装する予定が無いようでしたら、そしてもし実装が簡単なようでしたら、先にマクロから設定のコピーや削除、名前変更などができるようにしていただければありがたいです。ConfigsコレクションにAdd(configname, sourcename = "Text", isdefault = false, removesource = false), Remove(configname)というメソッドを追加していただければと思います。
Aye Wongさんは書きました:これですが、以下のようにすれば、設定をコピーすることが可能です。これで代用できないでしょうか?Aye Wongは書きました: 後はTags中のシンボルの強調を行いたいのですが、一時強調キーワード追加が出来ないことのワークアラウンドとして、たとえば"C++"の設定をもとに"C++-tagsシンボル強調"という新しい設定を作ってそちらにシンボルをキーワードとして追加というようなことをしたいと思っています。 しかし、設定のコピーや削除、名前変更などはダイアログからは可能ですが、マクロからは不可能なようでした。もし当面一時強調キーワード追加機能を実装する予定が無いようでしたら、そしてもし実装が簡単なようでしたら、先にマクロから設定のコピーや削除、名前変更などができるようにしていただければありがたいです。ConfigsコレクションにAdd(configname, sourcename = "Text", isdefault = false, removesource = false), Remove(configname)というメソッドを追加していただければと思います。
cfg = document.Config; cfg.Save( "Copy of " + cfg.Name );
Yutakaさんは書きました: これですが、以下のようにすれば、設定をコピーすることが可能です。これで代用できないでしょうか?なるほど、そのような方法がありましたか、 早速マクロを作って公開しました。 https://emeditor.web.fc2.com/EmMacros.html#CtagsHilight のちにctagsとの連携周りでまとまったページを作りたいと思います。本題は解決されたと思います。cfg = document.Config; cfg.Save( "Copy of " + cfg.Name );
このトピックの投稿: 6