code: def apply(
      cls,
      args: argparse.Namespace,
      unknown: List[str],
      conf: DevEnvironmentConfiguration,
  ):
      super().apply(args, unknown, conf)
      if conf.ide == "vscode" and conf.version is None:
          conf.version = _detect_vscode_version()
          if conf.version is None:
              console.print(
                  "[secondary]Unable to detect the VS Code version and pre-install extensions. "
                  "Fix by opening [code]Command Palette[/code], executing [code]Shell Command: "
                  "Install 'code' command in PATH[/code], and restarting terminal.[/]\n"
              )
  
imports: import argparse
  import re
  import subprocess
  from typing import Dict, List, Optional, Tuple, Type
  from dstack._internal.cli.utils.common import console
  from dstack._internal.core.errors import ConfigurationError
  from dstack._internal.core.models.configurations import BaseConfiguration, BaseConfigurationWithPorts, ConfigurationType, DevEnvironmentConfiguration, PortMapping, ServiceConfiguration, TaskConfiguration
  from dstack._internal.utils.interpolator import VariablesInterpolator
label_desc: Use image node_id 1 for calling the DevEnvironmentRunConfigurator obj's underlying member method code with example usage: obj.apply(cls, args, unknown, conf) without return types