• vscode安装配置


    一、通过Code-Server安装

    1.1、脚本安装

    curl -fsSL https://code-server.dev/install.sh | sh
    
    • 1
    #!/bin/sh
    set -eu
    
    # code-server's automatic install script.
    # See https://coder.com/docs/code-server/latest/install
    
    usage() {
      arg0="$0"
      if [ "$0" = sh ]; then
        arg0="curl -fsSL https://code-server.dev/install.sh | sh -s --"
      else
        not_curl_usage="The latest script is available at https://code-server.dev/install.sh
    "
      fi
    
      cath << EOF
    Installs code-server.
    It tries to use the system package manager if possible.
    After successful installation it explains how to start using code-server.
    
    Pass in user@host to install code-server on user@host over ssh.
    The remote host must have internet access.
    ${not_curl_usage-}
    Usage:
    
      $arg0 [--dry-run] [--version X.X.X] [--edge] [--method detect] \
            [--prefix ~/.local] [--rsh ssh] [user@host]
    
      --dry-run
          Echo the commands for the install process without running them.
    
      --version X.X.X
          Install a specific version instead of the latest.
    
      --edge
          Install the latest edge version instead of the latest stable version.
    
      --method [detect | standalone]
          Choose the installation method. Defaults to detect.
          - detect detects the system package manager and tries to use it.
            Full reference on the process is further below.
          - standalone installs a standalone release archive into ~/.local
            Add ~/.local/bin to your \$PATH to use it.
    
      --prefix 
          Sets the prefix used by standalone release archives. Defaults to ~/.local
          The release is unarchived into ~/.local/lib/code-server-X.X.X
          and the binary symlinked into ~/.local/bin/code-server
          To install system wide pass ---prefix=/usr/local
    
      --rsh 
          Specifies the remote shell for remote installation. Defaults to ssh.
    
    The detection method works as follows:
      - Debian, Ubuntu, Raspbian: install the deb package from GitHub.
      - Fedora, CentOS, RHEL, openSUSE: install the rpm package from GitHub.
      - Arch Linux: install from the AUR (which pulls releases from GitHub).
      - FreeBSD, Alpine: install from npm.
      - macOS: install using Homebrew if installed otherwise install from GitHub.
      - All others: install the release from GitHub.
    
    We only build releases on GitHub for amd64 and arm64 on Linux and amd64 for
    macOS. When the detection method tries to pull a release from GitHub it will
    fall back to installing from npm when there is no matching release for the
    system's operating system and architecture.
    
    The standalone method will force installion using GitHub releases. It will not
    fall back to npm so on architectures without pre-built releases this will error.
    
    The installer will cache all downloaded assets into ~/.cache/code-server
    
    More installation docs are at https://coder.com/docs/code-server/latest/install
    EOF
    }
    
    echo_latest_version() {
      if [ "${EDGE-}" ]; then
        version="$(curl -fsSL https://api.github.com/repos/coder/code-server/releases | awk 'match($0,/.*"html_url": "(.*\/releases\/tag\/.*)".*/)' | head -n 1 | awk -F '"' '{print $4}')"
      else
        # https://gist.github.com/lukechilds/a83e1d7127b78fef38c2914c4ececc3c#gistcomment-2758860
        version="$(curl -fsSLI -o /dev/null -w "%{url_effective}" https://github.com/coder/code-server/releases/latest)"
      fi
      version="${version#https://github.com/coder/code-server/releases/tag/}"
      version="${version#v}"
      echo "$version"
    }
    
    echo_npm_postinstall() {
      echoh
      cath << EOF
    npm package has been installed.
    
    Extend your path to use code-server:
      PATH="$NPM_BIN_DIR:\$PATH"
    Then run with:
      code-server
    EOF
    }
    
    echo_standalone_postinstall() {
      echoh
      cath << EOF
    Standalone release has been installed into $STANDALONE_INSTALL_PREFIX/lib/code-server-$VERSION
    
    Extend your path to use code-server:
      PATH="$STANDALONE_INSTALL_PREFIX/bin:\$PATH"
    Then run with:
      code-server
    EOF
    }
    
    echo_brew_postinstall() {
      echoh
      cath << EOF
    Brew release has been installed.
    
    Run with:
      code-server
    EOF
    }
    
    echo_systemd_postinstall() {
      echoh
      cath << EOF
    $1 package has been installed.
    
    To have systemd start code-server now and restart on boot:
      sudo systemctl enable --now code-server@\$USER
    Or, if you don't want/need a background service you can run:
      code-server
    EOF
    }
    
    echo_coder_postinstall() {
      echoh
      echoh "Deploy code-server for your team with Coder: https://github.com/coder/coder"
    }
    
    main() {
      if [ "${TRACE-}" ]; then
        set -x
      fi
    
      unset \
        DRY_RUN \
        METHOD \
        OPTIONAL \
        ALL_FLAGS \
        RSH_ARGS \
        EDGE \
        RSH
    
      ALL_FLAGS=""
      while [ "$#" -gt 0 ]; do
        case "$1" in
          -*)
            ALL_FLAGS="${ALL_FLAGS} $1"
            ;;
        esac
    
        case "$1" in
          --dry-run)
            DRY_RUN=1
            ;;
          --method)
            METHOD="$(parse_arg "$@")"
            shift
            ;;
          --method=*)
            METHOD="$(parse_arg "$@")"
            ;;
          --prefix)
            STANDALONE_INSTALL_PREFIX="$(parse_arg "$@")"
            shift
            ;;
          --prefix=*)
            STANDALONE_INSTALL_PREFIX="$(parse_arg "$@")"
            ;;
          --version)
            VERSION="$(parse_arg "$@")"
            shift
            ;;
          --version=*)
            VERSION="$(parse_arg "$@")"
            ;;
          --edge)
            EDGE=1
            ;;
          --rsh)
            RSH="$(parse_arg "$@")"
            shift
            ;;
          --rsh=*)
            RSH="$(parse_arg "$@")"
            ;;
          -h | --h | -help | --help)
            usage
            exit 0
            ;;
          --)
            shift
            # We remove the -- added above.
            ALL_FLAGS="${ALL_FLAGS% --}"
            RSH_ARGS="$*"
            break
            ;;
          -*)
            echoerr "Unknown flag $1"
            echoerr "Run with --help to see usage."
            exit 1
            ;;
          *)
            RSH_ARGS="$*"
            break
            ;;
        esac
    
        shift
      done
    
      if [ "${RSH_ARGS-}" ]; then
        RSH="${RSH-ssh}"
        echoh "Installing remotely with $RSH $RSH_ARGS"
        curl -fsSL https://code-server.dev/install.sh | prefix "$RSH_ARGS" "$RSH" "$RSH_ARGS" sh -s -- "$ALL_FLAGS"
        return
      fi
    
      METHOD="${METHOD-detect}"
      if [ "$METHOD" != detect ] && [ "$METHOD" != standalone ]; then
        echoerr "Unknown install method \"$METHOD\""
        echoerr "Run with --help to see usage."
        exit 1
      fi
    
      # These are used by the various install_* functions that make use of GitHub
      # releases in order to download and unpack the right release.
      CACHE_DIR=$(echo_cache_dir)
      STANDALONE_INSTALL_PREFIX=${STANDALONE_INSTALL_PREFIX:-$HOME/.local}
      VERSION=${VERSION:-$(echo_latest_version)}
      # These can be overridden for testing but shouldn't normally be used as it can
      # result in a broken code-server.
      OS=${OS:-$(os)}
      ARCH=${ARCH:-$(arch)}
    
      distro_name
    
      # Standalone installs by pulling pre-built releases from GitHub.
      if [ "$METHOD" = standalone ]; then
        if has_standalone; then
          install_standalone
          echo_coder_postinstall
          exit 0
        else
          echoerr "There are no standalone releases for $ARCH"
          echoerr "Please try again without '--method standalone'"
          exit 1
        fi
      fi
    
      # DISTRO can be overridden for testing but shouldn't normally be used as it
      # can result in a broken code-server.
      DISTRO=${DISTRO:-$(distro)}
    
      case $DISTRO in
        # macOS uses brew when available and falls back to standalone. We only have
        # amd64 for macOS so for anything else use npm.
        macos)
          BREW_PATH="${BREW_PATH-brew}"
          if command_exists "$BREW_PATH"; then
            install_brew
          else
            echoh "Homebrew not installed."
            echoh "Falling back to standalone installation."
            npm_fallback install_standalone
          fi
          ;;
        # The .deb and .rpm files are pulled from GitHub and we only have amd64 and
        # arm64 there and need to fall back to npm otherwise.
        debian) npm_fallback install_deb ;;
        fedora | opensuse) npm_fallback install_rpm ;;
        # Arch uses the AUR package which only supports amd64 and arm64 since it
        # pulls releases from GitHub so we need to fall back to npm.
        arch) npm_fallback install_aur ;;
        # We don't have GitHub releases that work on Alpine or FreeBSD so we have no
        # choice but to use npm here.
        alpine | freebsd) install_npm ;;
        # For anything else we'll try to install standalone but fall back to npm if
        # we don't have releases for the architecture.
        *)
          echoh "Unsupported package manager."
          echoh "Falling back to standalone installation."
          npm_fallback install_standalone
          ;;
      esac
    
      echo_coder_postinstall
    }
    
    parse_arg() {
      case "$1" in
        *=*)
          # Remove everything after first equal sign.
          opt="${1%%=*}"
          # Remove everything before first equal sign.
          optarg="${1#*=}"
          if [ ! "$optarg" ] && [ ! "${OPTIONAL-}" ]; then
            echoerr "$opt requires an argument"
            echoerr "Run with --help to see usage."
            exit 1
          fi
          echo "$optarg"
          return
          ;;
      esac
    
      case "${2-}" in
        "" | -*)
          if [ ! "${OPTIONAL-}" ]; then
            echoerr "$1 requires an argument"
            echoerr "Run with --help to see usage."
            exit 1
          fi
          ;;
        *)
          echo "$2"
          return
          ;;
      esac
    }
    
    fetch() {
      URL="$1"
      FILE="$2"
    
      if [ -e "$FILE" ]; then
        echoh "+ Reusing $FILE"
        return
      fi
    
      sh_c mkdir -p "$CACHE_DIR"
      sh_c curl \
        -#fL \
        -o "$FILE.incomplete" \
        -C - \
        "$URL"
      sh_c mv "$FILE.incomplete" "$FILE"
    }
    
    install_brew() {
      echoh "Installing latest from Homebrew."
      echoh
    
      sh_c "$BREW_PATH" install code-server
    
      echo_brew_postinstall
    }
    
    install_deb() {
      echoh "Installing v$VERSION of the $ARCH deb package from GitHub."
      echoh
    
      fetch "https://github.com/coder/code-server/releases/download/v$VERSION/code-server_${VERSION}_$ARCH.deb" \
        "$CACHE_DIR/code-server_${VERSION}_$ARCH.deb"
      sudo_sh_c dpkg -i "$CACHE_DIR/code-server_${VERSION}_$ARCH.deb"
    
      echo_systemd_postinstall deb
    }
    
    install_rpm() {
      echoh "Installing v$VERSION of the $ARCH rpm package from GitHub."
      echoh
    
      fetch "https://github.com/coder/code-server/releases/download/v$VERSION/code-server-$VERSION-$ARCH.rpm" \
        "$CACHE_DIR/code-server-$VERSION-$ARCH.rpm"
      sudo_sh_c rpm -U "$CACHE_DIR/code-server-$VERSION-$ARCH.rpm"
    
      echo_systemd_postinstall rpm
    }
    
    install_aur() {
      echoh "Installing latest from the AUR."
      echoh
    
      sh_c mkdir -p "$CACHE_DIR/code-server-aur"
      sh_c "curl -#fsSL https://aur.archlinux.org/cgit/aur.git/snapshot/code-server.tar.gz | tar -xzC $CACHE_DIR/code-server-aur --strip-components 1"
      echo "+ cd $CACHE_DIR/code-server-aur"
      if [ ! "${DRY_RUN-}" ]; then
        cd "$CACHE_DIR/code-server-aur"
      fi
      sh_c makepkg -si
    
      echo_systemd_postinstall AUR
    }
    
    install_standalone() {
      echoh "Installing v$VERSION of the $ARCH release from GitHub."
      echoh
    
      fetch "https://github.com/coder/code-server/releases/download/v$VERSION/code-server-$VERSION-$OS-$ARCH.tar.gz" \
        "$CACHE_DIR/code-server-$VERSION-$OS-$ARCH.tar.gz"
    
      # -w only works if the directory exists so try creating it first. If this
      # fails we can ignore the error as the -w check will then swap us to sudo.
      sh_c mkdir -p "$STANDALONE_INSTALL_PREFIX" 2> /dev/null || true
    
      sh_c="sh_c"
      if [ ! -w "$STANDALONE_INSTALL_PREFIX" ]; then
        sh_c="sudo_sh_c"
      fi
    
      if [ -e "$STANDALONE_INSTALL_PREFIX/lib/code-server-$VERSION" ]; then
        echoh
        echoh "code-server-$VERSION is already installed at $STANDALONE_INSTALL_PREFIX/lib/code-server-$VERSION"
        echoh "Remove it to reinstall."
        exit 0
      fi
    
      "$sh_c" mkdir -p "$STANDALONE_INSTALL_PREFIX/lib" "$STANDALONE_INSTALL_PREFIX/bin"
      "$sh_c" tar -C "$STANDALONE_INSTALL_PREFIX/lib" -xzf "$CACHE_DIR/code-server-$VERSION-$OS-$ARCH.tar.gz"
      "$sh_c" mv -f "$STANDALONE_INSTALL_PREFIX/lib/code-server-$VERSION-$OS-$ARCH" "$STANDALONE_INSTALL_PREFIX/lib/code-server-$VERSION"
      "$sh_c" ln -fs "$STANDALONE_INSTALL_PREFIX/lib/code-server-$VERSION/bin/code-server" "$STANDALONE_INSTALL_PREFIX/bin/code-server"
    
      echo_standalone_postinstall
    }
    
    install_npm() {
      echoh "Installing latest from npm."
      echoh
    
      NPM_PATH="${YARN_PATH-npm}"
    
      if command_exists "$NPM_PATH"; then
        sh_c="sh_c"
        if [ ! "${DRY_RUN-}" ] && [ ! -w "$(NPM_PATH config get prefix)" ]; then
          sh_c="sudo_sh_c"
        fi
        echoh "Installing with npm."
        echoh
        "$sh_c" "$NPM_PATH" install -g code-server --unsafe-perm
        NPM_BIN_DIR="\$($NPM_PATH bin -g)" echo_npm_postinstall
        return
      fi
      echoerr "Please install npm to install code-server!"
      echoerr "You will need at least node v12 and a few C dependencies."
      echoerr "See the docs https://coder.com/docs/code-server/latest/install#npm"
    
      exit 1
    }
    
    # Run $1 if we have a standalone otherwise run install_npm.
    npm_fallback() {
      if has_standalone; then
        $1
      else
        echoh "No standalone releases for $ARCH."
        echoh "Falling back to installation from npm."
        install_npm
      fi
    }
    
    # Determine if we have standalone releases on GitHub for the system's arch.
    has_standalone() {
      case $ARCH in
        amd64) return 0 ;;
        # We only have amd64 for macOS.
        arm64)
          [ "$(distro)" != macos ]
          return
          ;;
        *) return 1 ;;
      esac
    }
    
    os() {
      uname="$(uname)"
      case $uname in
        Linux) echo linux ;;
        Darwin) echo macos ;;
        FreeBSD) echo freebsd ;;
        *) echo "$uname" ;;
      esac
    }
    
    # Print the detected Linux distro, otherwise print the OS name.
    #
    # Example outputs:
    # - macos -> macos
    # - freebsd -> freebsd
    # - ubuntu, raspbian, debian ... -> debian
    # - amzn, centos, rhel, fedora, ... -> fedora
    # - opensuse-{leap,tumbleweed} -> opensuse
    # - alpine -> alpine
    # - arch, manjaro, endeavouros, ... -> arch
    #
    # Inspired by https://github.com/docker/docker-install/blob/26ff363bcf3b3f5a00498ac43694bf1c7d9ce16c/install.sh#L111-L120.
    distro() {
      if [ "$OS" = "macos" ] || [ "$OS" = "freebsd" ]; then
        echo "$OS"
        return
      fi
    
      if [ -f /etc/os-release ]; then
        (
          . /etc/os-release
          if [ "${ID_LIKE-}" ]; then
            for id_like in $ID_LIKE; do
              case "$id_like" in debian | fedora | opensuse | arch)
                echo "$id_like"
                return
                ;;
              esac
            done
          fi
    
          echo "$ID"
        )
        return
      fi
    }
    
    # Print a human-readable name for the OS/distro.
    distro_name() {
      if [ "$(uname)" = "Darwin" ]; then
        echo "macOS v$(sw_vers -productVersion)"
        return
      fi
    
      if [ -f /etc/os-release ]; then
        (
          . /etc/os-release
          echo "$PRETTY_NAME"
        )
        return
      fi
    
      # Prints something like: Linux 4.19.0-9-amd64
      uname -sr
    }
    
    arch() {
      uname_m=$(uname -m)
      case $uname_m in
        aarch64) echo arm64 ;;
        x86_64) echo amd64 ;;
        *) echo "$uname_m" ;;
      esac
    }
    
    command_exists() {
      if [ ! "$1" ]; then return 1; fi
      command -v "$@" > /dev/null
    }
    
    sh_c() {
      echoh "+ $*"
      if [ ! "${DRY_RUN-}" ]; then
        sh -c "$*"
      fi
    }
    
    sudo_sh_c() {
      if [ "$(id -u)" = 0 ]; then
        sh_c "$@"
      elif command_exists doas; then
        sh_c "doas $*"
      elif command_exists sudo; then
        sh_c "sudo $*"
      elif command_exists su; then
        sh_c "su root -c '$*'"
      else
        echoh
        echoerr "This script needs to run the following command as root."
        echoerr "  $*"
        echoerr "Please install doas, sudo, or su."
        exit 1
      fi
    }
    
    echo_cache_dir() {
      if [ "${XDG_CACHE_HOME-}" ]; then
        echo "$XDG_CACHE_HOME/code-server"
      elif [ "${HOME-}" ]; then
        echo "$HOME/.cache/code-server"
      else
        echo "/tmp/code-server-cache"
      fi
    }
    
    echoh() {
      echo "$@" | humanpath
    }
    
    cath() {
      humanpath
    }
    
    echoerr() {
      echoh "$@" >&2
    }
    
    # humanpath replaces all occurrences of " $HOME" with " ~"
    # and all occurrences of '"$HOME' with the literal '"$HOME'.
    humanpath() {
      sed "s# $HOME# ~#g; s#\"$HOME#\"\$HOME#g"
    }
    
    # We need to make sure we exit with a non zero exit if the command fails.
    # /bin/sh does not support -o pipefail unfortunately.
    prefix() {
      PREFIX="$1"
      shift
      fifo="$(mktemp -d)/fifo"
      mkfifo "$fifo"
      sed -e "s#^#$PREFIX: #" "$fifo" &
      "$@" > "$fifo" 2>&1
    }
    
    main "$@"
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92
    • 93
    • 94
    • 95
    • 96
    • 97
    • 98
    • 99
    • 100
    • 101
    • 102
    • 103
    • 104
    • 105
    • 106
    • 107
    • 108
    • 109
    • 110
    • 111
    • 112
    • 113
    • 114
    • 115
    • 116
    • 117
    • 118
    • 119
    • 120
    • 121
    • 122
    • 123
    • 124
    • 125
    • 126
    • 127
    • 128
    • 129
    • 130
    • 131
    • 132
    • 133
    • 134
    • 135
    • 136
    • 137
    • 138
    • 139
    • 140
    • 141
    • 142
    • 143
    • 144
    • 145
    • 146
    • 147
    • 148
    • 149
    • 150
    • 151
    • 152
    • 153
    • 154
    • 155
    • 156
    • 157
    • 158
    • 159
    • 160
    • 161
    • 162
    • 163
    • 164
    • 165
    • 166
    • 167
    • 168
    • 169
    • 170
    • 171
    • 172
    • 173
    • 174
    • 175
    • 176
    • 177
    • 178
    • 179
    • 180
    • 181
    • 182
    • 183
    • 184
    • 185
    • 186
    • 187
    • 188
    • 189
    • 190
    • 191
    • 192
    • 193
    • 194
    • 195
    • 196
    • 197
    • 198
    • 199
    • 200
    • 201
    • 202
    • 203
    • 204
    • 205
    • 206
    • 207
    • 208
    • 209
    • 210
    • 211
    • 212
    • 213
    • 214
    • 215
    • 216
    • 217
    • 218
    • 219
    • 220
    • 221
    • 222
    • 223
    • 224
    • 225
    • 226
    • 227
    • 228
    • 229
    • 230
    • 231
    • 232
    • 233
    • 234
    • 235
    • 236
    • 237
    • 238
    • 239
    • 240
    • 241
    • 242
    • 243
    • 244
    • 245
    • 246
    • 247
    • 248
    • 249
    • 250
    • 251
    • 252
    • 253
    • 254
    • 255
    • 256
    • 257
    • 258
    • 259
    • 260
    • 261
    • 262
    • 263
    • 264
    • 265
    • 266
    • 267
    • 268
    • 269
    • 270
    • 271
    • 272
    • 273
    • 274
    • 275
    • 276
    • 277
    • 278
    • 279
    • 280
    • 281
    • 282
    • 283
    • 284
    • 285
    • 286
    • 287
    • 288
    • 289
    • 290
    • 291
    • 292
    • 293
    • 294
    • 295
    • 296
    • 297
    • 298
    • 299
    • 300
    • 301
    • 302
    • 303
    • 304
    • 305
    • 306
    • 307
    • 308
    • 309
    • 310
    • 311
    • 312
    • 313
    • 314
    • 315
    • 316
    • 317
    • 318
    • 319
    • 320
    • 321
    • 322
    • 323
    • 324
    • 325
    • 326
    • 327
    • 328
    • 329
    • 330
    • 331
    • 332
    • 333
    • 334
    • 335
    • 336
    • 337
    • 338
    • 339
    • 340
    • 341
    • 342
    • 343
    • 344
    • 345
    • 346
    • 347
    • 348
    • 349
    • 350
    • 351
    • 352
    • 353
    • 354
    • 355
    • 356
    • 357
    • 358
    • 359
    • 360
    • 361
    • 362
    • 363
    • 364
    • 365
    • 366
    • 367
    • 368
    • 369
    • 370
    • 371
    • 372
    • 373
    • 374
    • 375
    • 376
    • 377
    • 378
    • 379
    • 380
    • 381
    • 382
    • 383
    • 384
    • 385
    • 386
    • 387
    • 388
    • 389
    • 390
    • 391
    • 392
    • 393
    • 394
    • 395
    • 396
    • 397
    • 398
    • 399
    • 400
    • 401
    • 402
    • 403
    • 404
    • 405
    • 406
    • 407
    • 408
    • 409
    • 410
    • 411
    • 412
    • 413
    • 414
    • 415
    • 416
    • 417
    • 418
    • 419
    • 420
    • 421
    • 422
    • 423
    • 424
    • 425
    • 426
    • 427
    • 428
    • 429
    • 430
    • 431
    • 432
    • 433
    • 434
    • 435
    • 436
    • 437
    • 438
    • 439
    • 440
    • 441
    • 442
    • 443
    • 444
    • 445
    • 446
    • 447
    • 448
    • 449
    • 450
    • 451
    • 452
    • 453
    • 454
    • 455
    • 456
    • 457
    • 458
    • 459
    • 460
    • 461
    • 462
    • 463
    • 464
    • 465
    • 466
    • 467
    • 468
    • 469
    • 470
    • 471
    • 472
    • 473
    • 474
    • 475
    • 476
    • 477
    • 478
    • 479
    • 480
    • 481
    • 482
    • 483
    • 484
    • 485
    • 486
    • 487
    • 488
    • 489
    • 490
    • 491
    • 492
    • 493
    • 494
    • 495
    • 496
    • 497
    • 498
    • 499
    • 500
    • 501
    • 502
    • 503
    • 504
    • 505
    • 506
    • 507
    • 508
    • 509
    • 510
    • 511
    • 512
    • 513
    • 514
    • 515
    • 516
    • 517
    • 518
    • 519
    • 520
    • 521
    • 522
    • 523
    • 524
    • 525
    • 526
    • 527
    • 528
    • 529
    • 530
    • 531
    • 532
    • 533
    • 534
    • 535
    • 536
    • 537
    • 538
    • 539
    • 540
    • 541
    • 542
    • 543
    • 544
    • 545
    • 546
    • 547
    • 548
    • 549
    • 550
    • 551
    • 552
    • 553
    • 554
    • 555
    • 556
    • 557
    • 558
    • 559
    • 560
    • 561
    • 562
    • 563
    • 564
    • 565
    • 566
    • 567
    • 568
    • 569
    • 570
    • 571
    • 572
    • 573
    • 574
    • 575
    • 576
    • 577
    • 578
    • 579
    • 580
    • 581
    • 582
    • 583
    • 584
    • 585
    • 586
    • 587
    • 588
    • 589
    • 590
    • 591
    • 592
    • 593
    • 594
    • 595
    • 596
    • 597
    • 598
    • 599
    • 600
    • 601
    • 602
    • 603
    • 604
    • 605
    • 606
    • 607
    • 608
    • 609
    • 610
    • 611
    • 612
    • 613
    • 614
    • 615
    • 616
    • 617
    • 618

    1.2、修改配置文件

    vim ~/.config/code-server/config.yaml
    
    bind-addr: 0.0.0.0:8080
    auth: password
    password: Lab@123
    cert: false
    
    
    #去掉密码验证
    bind-addr: 0.0.0.0:8080
    auth: none
    #password: Lab@123
    cert: false
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    1.3、修改配置文件

    /root/.local/share/code-server/User/settings.json

    {
        // 控制头部菜单栏的可见性。“切换”设置表示菜单栏处于隐藏状态,只需按一下 Alt 键即可显示。“精简”设置会将菜单移到边栏中。
        //  - classic: 菜单显示在窗口顶部,并且仅在全屏模式下隐藏。
        //  - visible: 即使在全屏模式下,菜单也始终显示在窗口顶部。
        //  - toggle: 菜单处于隐藏状态,但通过按 Alt 键可在窗口顶部显示。
        //  - hidden: 菜单始终隐藏。
        //  - compact: 菜单在边栏中显示为紧凑按钮。当 `window.titleBarStyle` 为 `native` 时,会忽略此值。
        "window.menuBarVisibility": "hidden",
        
        // 控制是否显示视图头部的操作项。视图头部操作项可以一直,或是仅当聚焦到和悬停在视图上时显示。
        "workbench.view.alwaysShowHeaderActions": false,
    
        // 控制是否可通过 Alt 键快捷键打开主菜单。如果禁用助记符,则可将这些 Alt 键快捷键绑定到编辑器命令。
        "window.enableMenuBarMnemonics": false,
    
        // 控制是否通过按 Alt 键聚焦菜单栏。此设置对使用 Alt 键切换菜单栏没有任何影响。
        "window.customMenuBarAltFocus": true,
    
        // 指定用在工作台中的颜色主题。
        "workbench.colorTheme": "Default Dark+",
    
         // 控制在打开设置时是否同时打开显示所有默认设置的编辑器。
        "workbench.settings.openDefaultSettings": false,
    
        // 控制工作台底部/侧边状态栏的可见性。
        "workbench.activityBar.visible": false,
    
        // 配置字体连字或字体特性。可以是用于启用/禁用连字的布尔值
        "editor.fontLigatures": false,
    
        // 控制打开的编辑器是否显示为预览编辑器。预览编辑器不会保持打开状态,在将其显式设置为保持打开(例如通过双击或编辑)前将会重复使用,其文件名显示样式为斜体。
    	"workbench.editor.enablePreview": false,
        
        //启动后界面默认是welcome
        "workbench.startupEditor": "welcomePage",
    
        
        
        "files.exclude": {
    		// "**/.git": false,
    		// "**/.svn": false,
    		// "**/.hg": false,
    		// "**/CVS": false,
    		// "**/.DS_Store": false,
    		// "**/Thumbs.db": false,
    		// "**/*.crswap": false,
            "**/*.*": true
    	},
    
        "workbench.activityBar.iconClickBehavior": "toggle",
        "workbench.settings.settingsSearchTocBehavior": "hide",
    
        "workbench.sideBar.location": "hide",
    	"window.menuBarVisibility": "hidden",
    
    
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57

    1.4、启动访问

    systemctl status code-server@$USER
    systemctl enable --now code-server@$USER
    
    #前台启动调试
    code-server
    
    • 1
    • 2
    • 3
    • 4
    • 5

    1.5、浏览器访问

    http://:8080

    1.6、在线安装插件

    code-server --install-extension ms-ceintl.vscode-language-pack-zh-hans@1.73.0
    
    
    /root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.73.0-universal/package.json
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    Leetcode646. 最长数对链
    FastAPI 学习之路(三十一)CORS(跨域资源共享)
    哈夫曼树实现哈夫曼编码(C++)
    使用element的过渡效果来做动效
    基于Java语言实现模拟银行存取款业务系统
    Kafka消费者不消费数据
    【简单模拟添加并合并通讯录~python+】
    机器人入门路线及参考资料(机器人操作方向)
    【C++进阶】二叉树进阶之二叉搜索树
    SpringBoot 学习(一)自动装配
  • 原文地址:https://blog.csdn.net/u010948569/article/details/136352323