M-file code formatting tool

15 Ansichten (letzte 30 Tage)
Yuriy Chesnokov
Yuriy Chesnokov am 22 Okt. 2011
Beantwortet: Julian Hapke am 11 Dez. 2023
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 Kommentare
Jan
Jan am 22 Okt. 2011
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 am 22 Okt. 2011
Bearbeitet: Guillaume am 28 Nov. 2018
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;

Melden Sie sich an, um zu kommentieren.

Antworten (7)

David Varga
David Varga am 6 Jun. 2016
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 Kommentare
hasan fawaz
hasan fawaz am 30 Jul. 2019
I love you man :D Life Saver :D !
Ruben Lange
Ruben Lange am 28 Apr. 2020
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

Melden Sie sich an, um zu kommentieren.


Florian Schanda
Florian Schanda am 26 Mär. 2021
Hi, there is https://github.com/florianschanda/miss_hit which can format code and much more.

Troy_Daniel
Troy_Daniel am 21 Nov. 2019
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 am 23 Aug. 2022
Bearbeitet: Brian Harris am 23 Aug. 2022
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 am 22 Okt. 2011
Did you try the "Crimson Editor" or XEmacs already?
  1 Kommentar
Yuriy Chesnokov
Yuriy Chesnokov am 22 Okt. 2011
no, do they support matlab code formatting? as in my comments to your question above?

Melden Sie sich an, um zu kommentieren.


Narendra Kulkarni
Narendra Kulkarni am 29 Sep. 2014
Hi, I am facing the same problem. There arent any good tools to beautify matlab code or are there?
  2 Kommentare
Image Analyst
Image Analyst am 30 Sep. 2014
Bearbeitet: Image Analyst am 30 Sep. 2014
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 am 11 Jan. 2018
Bearbeitet: Evgeny Mirkes am 11 Jan. 2018
Because indentation is not enough for beauty code.

Melden Sie sich an, um zu kommentieren.


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

Kategorien

Mehr zu File Operations finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by