秀丸でVSのインデントフォーマットのようNo.37546
ddd さん 19/09/22 07:22
 
 質問させていただきます。どうぞよろしくお願いいたします。
 
 秀丸でコードを書く際に、インデントを手動で直すのに時間がかかっております。
 VisualStudioに自動インデントフォーマット機能(Ctrl+K → Ctrl+D ですべて
の行のインデントを一括で綺麗にフォーマッティングできる機能)がございますが、
これと同じ事を秀丸上で記述したC言語の文字列に対して使える方法(マクロなど)
はございませんでしょうか?


 MQLという言語(C言語とカッコの記述が同じです)のコードを書いているのですが、
C言語とは宣言文が異なるため、VSのエディタにこれを丸ごとコピペしても構文エ
ラーが発生いたします。(VSでは構文エラーが1つでもあると上記方法が実行できま
せん。。。)
 しかし秀丸でもし「C言語のインデントを一括で行う追加機能やマクロのようなも
の」が存在すれば、MQLとC言語はカッコの記述が同じなので、利用できるのでは
(?)などと思いついた次第でございます。

 どうぞよろしくお願いいたします。

[ ]
RE:37546 秀丸でVSのインデントフォーマッNo.37550
秀丸担当 さん 19/09/24 09:37
 

秀丸エディタの機能としては、インデントを整形するような機能は無いです。
何らかのマクロや変換モジュール、あるいは外部のコマンドラインのプログラムを使
う必要があります。

検索してみたところでは、他にもあるかもしれないですが、vscode-lifeさんの以下
のものがありました。JavaScriptはC言語の括弧に似ていると思います。
https://hide.maruo.co.jp/lib/macro/hmjsbeautify.html
変換モジュールではtakahasiさんの以下のものがありました。
https://hide.maruo.co.jp/lib/hmconv/astyle_filter202b.html

ライブラリ以外で見つかったものは、あべのりゆきさんの以下のマクロがありました。
(整形用マクロ)
https://www.ms.u-tokyo.ac.jp/~abenori/soft/hidemaru.html
言語に厳密ではなく、緩いほうがいい場合は、このマクロがいいかもしれないです。
何かあったら手直しができると思います。


他には、[その他]→[プログラム実行...]でコマンドラインのフィルタ(パイプ)を
使って処理する方法もあります。
例えば、Windows標準のsort.exeはソートするフィルタですが、プログラム実行で「s
ort.exe <con >con」とすると、内容をソートして入れ替えます。

これと同じような感じで、整形するプログラムがあればそれを使えます。
Google検索してそういうプログラムが無いか調べてみたページ:
https://qiita.com/takeh1k0/items/ffb3383219b78e5e6100
例えばclang-formatをプログラム実行で処理する例:
"C:\xxx\LLVM\bin\clang-format.exe" <con >con

[ ]
RE:37550 秀丸でVSのインデントフォーマッNo.37558
ddd さん 19/09/25 04:58
 
 どうもありがとうございます!
やりたいことができました。m(_ _)m
下記のようにいたしました。

・hmV8ダウンロード&インストール
・↓からVisual C++ Runtime Installer (All-In-One) v56をダウンロード
→C++Runtime x86をインストール
(x64しかインストールしたことがなかったため)
https://www.majorgeeks.com/files/details/visual_c_runtime_installer・HmJsBea
utify.macをマクロ登録後に秀丸ショートカットキー登録。
 (VSと同じようにctrl+kにいたしました)
・整形したいコードをtext.jsにコピペ
 (↑テキストファイルの拡張子から言語を判別しているコードでしたので)


 教えていただく前に自分でもgoogleから検索してみたのですが、「整形」という単
語を存じませんでしたので見つけられておりませんでした。
この度はお教えいただき誠にありがとうございました。
 秀丸歴17年になりますが、今後も愛用させていただきます。
どうもありがとうございました。m(_ _)m

[ ]