Configuring auto-completion with TeXstudio

For that, you will have to make use of a custom .cwl file (which, afaik, requires a recent version of TeXstudio).

Create a file, let's say mycwl.cwl, in either %appdata%\texstudio\completion\user or .config/texstudio/completion/user according to your system.

In it, place the following line:

\alternative{label}#r

and save it. Technically, you can put anything meaningful in the argument, but some terms are reserved and have special meaning. And, as you wish TeXstudio to recognize a label there, you require one of those, namely label. The comment at the end of the line tells TeXstudio what kind of command yours is. #r stands for this command declares a reference like "\ref{key}". For further commands, just add a new line to your mycwl.cwl.

Then, in TeXstudio, go to Options -> Configure TeXstudio -> Completion and check mycwl.cwl on the list (crucial). And that's about it.

use of custom command in TeXstudio

For more details on customizing autocompletion with cwl files, check the TeXstudio manual, section "4.13 Description of the cwl format".

A tip: If the manual seems complicated, and you'd like to emulate the behavior of some command's autocompletion you like, you might want to download the sourcecode tarball at http://texstudio.sourceforge.net/, unpack it and look at the built-in cwl files in the "completion" folder. From there, you can proceed by means of examples of your commands of interest.


I suggest to use the cleveref package instead of manually defining commands for all possible types of labels.

  • cleveref will automatically insert the appropriate string based on the type of label you are referring to

  • texstudio automatically suggest possible labels

enter image description here

enter image description here

\documentclass{article}
\usepackage{amsmath}
\usepackage[capitalise]{cleveref}

\begin{document}
    \begin{equation}
        \label{eq:emc2}
        E = mc^2
    \end{equation}
    I can refer to the equation using \eqref{eq:emc2} and using \cref{eq:emc2}.

\end{document}