As frequently asked, I want to resize a single component in a circuitikz environment, which is achieved by passing /tikz/circuitikz/bipoles/length=<length> to the component options. I have the following example:
\documentclass{article}
\usepackage[american]{circuitikz}
\begin{document}
\begin{circuitikz}
\draw node[ground,/tikz/circuitikz/bipoles/length=2cm]{} to [C] (0,2) to [L] (2,2) to [C] (2,0) to node[ground,/tikz/circuitikz/bipoles/length=2cm]{} (2,0);
\draw (2,2) to [pC] (4,2) to [R](4,0) to node[ground,/tikz/circuitikz/bipoles/length=2cm]{} (4,0)
(5,2) node[npn](npn1) {}
(4,2) to [short] (npn1.base)
(npn1.emitter) to [R,/tikz/circuitikz/bipoles/length=1cm] (5,0)
to node[ground]{}(5,0)
(npn1.collector) to[R,/tikz/circuitikz/bipoles/length=1cm] (5,4)
to[short](4,4) to [R] (4,2)
(5,4) node[vcc] (5,4){$Vcc$}
;
\end{circuitikz}
\end{document}
I want to scale all the ground nodes but one to have a length of 2cm, and for that I want to create a command, something like \newcommand{\setsize}[1]{/tikz/circuitikz/bipoles/length=#1} but that does not seem to work. It's just to not having to write all the times /tikz/circuitikz/.... That command should work with other components too.

\tikzset{my ground/.style={ground,/tikz/circuitikz/bipoles/length=2cm}}and then usingmy groundinstead ofground. Note that (as far as I understand)groundis a shape, and TikZ is clever enough to find that out, so instead ofnode[shape=ground]it suffices to saynode[ground]. This also means that in order to change the standard behavior of ground you cannot useappend style(norappend code), but you would have to "hack" it. I would like to argue that it is much better to use your style. – Jun 20 '19 at 03:05\pgf@circ@Rlen. This is used to compute all other dimensions. – John Kormylo Jun 20 '19 at 03:58\ctikzset{monopoles/ground/width/.initial=0.25}. You can lose the/.initialto reset it. – John Kormylo Jun 20 '19 at 04:06