Objectives:
To show a canvas bounding box with a specified size in advance. In other words, I want to create a
\begin{pspicture}(-2,-2)(3,3)-like canvas before drawing other objects inside it. I don't like auto-determined canvas size produced by Tikz because of some reasons.To show the colored grid with numbers along its axes for navigation purpose. It also clips any objects beyond its boundary. The grid can be applied to the canvas in 2 ways: permanent and temporary.
To hide GLOBALLY the temporary grid at the final phase without having to make adjustment one by one per
\tikzpicture(that is tedious).
It is better if I provide the example in PSTricks to make it clearer.
PSTricks

\documentclass[dvipsnames,dvips,rgb]{minimal}
\usepackage{pstricks}
\newpsstyle{gridstyle}{%
gridwidth=0.4pt,%default: 0.8pt
gridcolor=Red!10,%default: black
griddots=0,%default: 0
%
gridlabels=3pt,%default: 10pt
gridlabelcolor=Blue,%default: black
%
subgriddiv=5,%default: 5
subgridwidth=0.2pt,%default: 0.4pt
subgridcolor=Green!10,%default: gray
subgriddots=0%default: 0
}
\psset{style=gridstyle}
%To remove the grid globally, please remove th following comment.
%\let\psgrid\relax
\begin{document}
\begin{pspicture}[showgrid](-2,-2)(3,3)
%Permanent grid has been setup.
%other objects start from here
\pscircle[fillstyle=solid,opacity=0.25,fillcolor=red](0.5,0.5){2}
\end{pspicture}
\vspace{1cm}
\begin{pspicture}(-2,-2)(3,3)
\psgrid%this is a temporary grid that can be hidden globally later.
%other objects start from here
\pscircle[fillstyle=solid,opacity=0.25,fillcolor=red](0.5,0.5){2}
\end{pspicture}
\end{document}
PGF/Tikz
My attempt below did not produce the same figure as the PSTricks did above.

\documentclass{minimal}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\clip (-2,-2) rectangle (3,3);
\draw (-2,-2) grid (3,3);
\draw[opacity=0.25,fill=red] (0.5,0.5) circle (2);
\end{tikzpicture}
\end{document}
First attempt based on @Torbjorn's suggestion
It is better but not similar to the PSTricks one given above.
\documentclass{minimal}
\usepackage{tikz}
\begin{document}
\newcommand{\grid}[4]{\draw [green] (#1,#2) grid (#3,#4);}
\begin{tikzpicture}
\clip (-2,-2) rectangle (3,3);
\draw [opacity=0.25,fill=red,draw=black] (0.5,0.5) circle (2);
\draw [green] (-2,-2) grid (3,3);%Permanent
\end{tikzpicture}
\vspace{1cm}
\begin{tikzpicture}
\clip (-2,-2) rectangle (3,3);
\draw [opacity=0.25,fill=red,draw=black] (0.5,0.5) circle (2);
%
%I hope it to be temporarily grid that can be removed globally later.
\grid{-2}{-2}{3}{3}
\end{tikzpicture}
\end{document}




