code: def get_install_commands(self) -> List[str]:
      commands = []
      if self.version is not None:
          url = f"https://update.code.visualstudio.com/commit:{self.version}/server-linux-$arch/stable"
          archive = "vscode-server-linux-$arch.tar.gz"
          target = f'~/.vscode-server/bin/"{self.version}"'
          commands.extend(
              [
                  f'if [ $(uname -m) = "aarch64" ]; then arch="arm64"; else arch="x64"; fi',
                  f"mkdir -p /tmp",
                  f'wget -q --show-progress "{url}" -O "/tmp/{archive}"',
                  f"mkdir -vp {target}",
                  f'tar --no-same-owner -xz --strip-components=1 -C {target} -f "/tmp/{archive}"',
                  f'rm "/tmp/{archive}"',
              ]
          )
          if self.extensions:
              extensions = " ".join(
                  f'--install-extension "{name}"'
                  for name in self.extensions
              )
              commands.append(
                  f'PATH="$PATH":{target}/bin code-server {extensions}'
              )
      return commands
  
imports: from typing import List
label_desc: Use image node_id 2 for calling the VSCodeDesktop obj's underlying member method code with example usage: obj.get_install_commands() and returns: commands