[Tex/LaTex] \begin{algorithm} unrecognized

algorithm2e

I have used these two packages for creating algorithm

\usepackage{algorithm2e}
\usepackage{algorithmicx}

But \begin{algorithm} shows as unrecognized command. Even \For, \While are shown as unrecognized. I don't understand. I'm using TexStudio as editor.
Here is a sample code

\documentclass[12pt,a4paper,oneside,oldfontcommands]{memoir}
\usepackage{algorithm2e}
\usepackage{algorithmicx}
\begin{document}
\begin{algorithm}
\caption{Retiming Algorithm to compute Shortest Path}
 Set count = 1 \linebreak
\While{count $\le$ V}{
Set W(U,V) = $\infty$ \linebreak
Set D(U,V) = -1 \linebreak
 count $\gets$ count + 1 
}

\end{algorithm}
\end{document}

If I run above code, I get no errors but \While, \begin{algorithm} are coming as unrecognized commands. I'm not good at LaTeX. I've used google as source to write this.

Best Answer

To recognise the commands from a package, TeXStudio needs a corresponding file with the extension .cwl. For some of the most common packages, the cwl files are provided as standard, and they can be activated as discussed in TeXStudio doesn't recognize some commands.

I don't think cwl files are provided for algorithm2e or algorithmicx, but section 1.5 of the TeXStudio User Manual explains how to create your own.