Code-snippets in Live Scripts?

Hello,
in my Live Scripts I have some lines of codes which I use very frequently. One example is
set(get(gca, 'ylabel'), 'Rotation', 0, 'HorizontalAlignment', 'right', 'VerticalAlignment', 'middle')
to rotate the y-axis label.
In other progarmming environments it is possible to define code snippets to insert code, which is used often.
What I do not want: defining a function for such lines, as I distrubute the Live Scripts to students, and using support function leads to difficulties.
Are there any recommendations how to introduce code sippets?
Michael

2 comentarios

John D'Errico
John D'Errico el 3 de Jul. de 2024
Editada: John D'Errico el 3 de Jul. de 2024
You are looking for EXACTLY a function. But then, you tell us that you don't want a function. So what do you expect?
If you distribute live scripts, then nothing stops you from distributing functions too. Put them in a central repository, and have them link to it. Or distribute your functions with the scripts. I fail to see the problem.
If what you really want is exactly what you have in some other programming environment, then use it. WTP?
Michael
Michael el 3 de Jul. de 2024
Soory for the confusion, it seems to a problem in the wording and a not very good exapmle..
I am not looking for MATLAB function, but a functionality in the editor. In coding IDEs you can easily access templates for frequently used code constructions e.g. if-else or switch-case statements as easiest example. And you can add your own code to these templates or code snippet.
So it should help during coding by not always typing the same statements. Actually there is the possibility with automatic completations to find functions. So I want to use this for my own code if possible.
That's what I am looking for. I hope I made my point clear now.

Iniciar sesión para comentar.

Respuestas (1)

Dinesh
Dinesh el 3 de Jul. de 2024
Hello,
These lines that you use very frequently can be defined as a string variable. Then, you can make use of the "eval" function and pass this string variable as a parameter to execute that line. Here's how you can do it for your "set()" call:
rotateYLabel = "set(get(gca, 'ylabel'), 'Rotation', 0, 'HorizontalAlignment', 'right', 'VerticalAlignment', 'middle');";
% Execute the code snippet using "eval" any number of times
eval(rotateYLabel);
Here's the documentation link for "eval": https://www.mathworks.com/help/matlab/ref/eval.html
Note: When you use "eval", you might see a warning that it is inefficient. As of now, I don't see any other workaround apart from using "eval".

3 comentarios

Michael
Michael el 3 de Jul. de 2024
Thank you for your sugestion.
I think I was not clear enough. I am looking for a solution to insert a coed snippet durin g editing a Live Script, like a text module, which I acn access with a shortcut or so.
Your suggestion is form the effect similra to a fuunction and not what I am looking for.
Dinesh
Dinesh el 4 de Jul. de 2024
@Michael, oh, so you looking for an in-built accessibility feature to store your snippets and retreive them whenever you want using shortcuts.
In the Github link mentioned in the above link, you can see examples of how to use this add-on.
Michael
Michael el 4 de Jul. de 2024
Yes Dinesh you are right, that's what I was looking for.
The app is described very well, unfortunatly it does not work, I have to lookm at this.
Thank you for the link!

Iniciar sesión para comentar.

Categorías

Más información sobre Startup and Shutdown en Centro de ayuda y File Exchange.

Productos

Versión

R2024a

Etiquetas

Preguntada:

el 3 de Jul. de 2024

Comentada:

el 4 de Jul. de 2024

Community Treasure Hunt

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

Start Hunting!

Translated by