M-file code formatting tool

16 次查看(过去 30 天)
Yuriy Chesnokov
Yuriy Chesnokov 2011-10-22
回答: Julian Hapke 2023-12-11
Is there any similar to AStyle formatting tool for C/C++/C# languages which can beautify matlab m-file code?
Ctrl+I is too simple for my needs
  2 个评论
Jan
Jan 2011-10-22
To answer this, we have to know your needs.
Personally I prefer an indentation, which is as trivial as possible - simply eye-popping.
Yuriy Chesnokov
Yuriy Chesnokov 2011-10-22
编辑:Guillaume 2018-11-28
the same as in AStyle
to convert some unreadable or unformatted code to uniform style
example:
[V,D]=eig(Kn);clear Kn;
V=sortrows([V' diag(D)],size(X,1)+1);V=flipud(V);
latent=V(:,end);
coeff= V(:,1:end-1)';
clear V;clear D;
to uniform:
[V, D] = eig(Kn);
clear Kn;
V = sortrows([V' diag(D)], size(X,1)+1);
V = flipud(V);
latent = V(:,end);
coeff = V(:,1:end-1)';
clear V;
clear D;

请先登录,再进行评论。

回答(7 个)

David Varga
David Varga 2016-6-6
I know it is an old question, and I just put this here as an addition.
You could check: MBeautifier
I have just created it for personal use, it is a lightweight M-Script based tool that can be usable to format Matlab M-Code directly in the Matlab editor
  5 个评论
hasan fawaz
hasan fawaz 2019-7-30
I love you man :D Life Saver :D !
Ruben Lange
Ruben Lange 2020-4-28
Hi David,
I know I am very late to this, but I don't really know how to add the root directory to my matlab path as you describe on the github page...
I also don't understand how to do the shortcuts part.
Could you (or someone else) help me with this?
Thanks in advance!
Ruben

请先登录,再进行评论。


Florian Schanda
Florian Schanda 2021-3-26
Hi, there is https://github.com/florianschanda/miss_hit which can format code and much more.

Troy_Daniel
Troy_Daniel 2019-11-21
I know this question is quite old, and there is already a solution for Maltab GUI Editor. However, I prefer to edit M-files with vim, I'm frustrated to find that there was no a proper solution for commandline usage. So I imlement one using C++, which achieve quite simple formatting. The code is available on Github https://github.com/TroyDanielFZ/Matlab-M-Source-Formator .
This answer is posted in case that someone else need this implement for editors like vim.

Brian Harris
Brian Harris 2022-8-23
编辑:Brian Harris 2022-8-23
vscode has a pretty good matlab formater built in (formats on save). Underpinning the vscode plugin is a python script which you can run on the command line (matlab_formatter.py <matlab_file_name>)

Jan
Jan 2011-10-22
Did you try the "Crimson Editor" or XEmacs already?
  1 个评论
Yuriy Chesnokov
Yuriy Chesnokov 2011-10-22
no, do they support matlab code formatting? as in my comments to your question above?

请先登录,再进行评论。


Narendra Kulkarni
Narendra Kulkarni 2014-9-29
Hi, I am facing the same problem. There arent any good tools to beautify matlab code or are there?
  2 个评论
Image Analyst
Image Analyst 2014-9-30
编辑:Image Analyst 2014-9-30
I don't understand why control-I is not acceptable for you and Yuriy. What's wrong with the way it does it? It fixes the indenting, though it doesn't add spaces around operators such as = and +. Is that the problem?
Evgeny Mirkes
Evgeny Mirkes 2018-1-11
编辑:Evgeny Mirkes 2018-1-11
Because indentation is not enough for beauty code.

请先登录,再进行评论。


Julian Hapke
Julian Hapke 2023-12-11
Here's a MATLAB snippet that depends on the undocumented tree2str and mtree, but produces a reasonable result:
tree2str(mtree(FILENAME, '-file', '-comments'))

类别

Help CenterFile Exchange 中查找有关 File Operations 的更多信息

标签

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by