Vscode/resources/win32/bin/code.sh

1 개요[ | ]

vscode/resources/win32/bin/code.sh
/mnt/c/Users/user1/AppData/Local/Programs/Microsoft VS Code/bin/code
Bash
Copy
#!/usr/bin/env sh
#
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
if [ "$VSCODE_WSL_DEBUG_INFO" = true ]; then
        set -x
fi

COMMIT="4949701c880d4bdb949e3c0e6b400288da7f474b"
APP_NAME="code"
QUALITY="stable"
NAME="Code"
SERVERDATAFOLDER=".vscode-server"
VSCODE_PATH="$(dirname "$(dirname "$(realpath "$0")")")"
ELECTRON="$VSCODE_PATH/$NAME.exe"

IN_WSL=false
if [ -n "$WSL_DISTRO_NAME" ]; then
        # $WSL_DISTRO_NAME is available since WSL builds 18362, also for WSL2
        IN_WSL=true
else
        WSL_BUILD=$(uname -r | sed -E 's/^[0-9.]+-([0-9]+)-Microsoft.*|.*/\1/')
        if [ -n "$WSL_BUILD" ]; then
                if [ "$WSL_BUILD" -ge 17063 ]; then
                        # WSLPATH is available since WSL build 17046
                        # WSLENV is available since WSL build 17063
                        IN_WSL=true
                else
                        # If running under older WSL, don't pass cli.js to Electron as
                        # environment vars cannot be transferred from WSL to Windows
                        # See: https://github.com/microsoft/BashOnWindows/issues/1363
                        #      https://github.com/microsoft/BashOnWindows/issues/1494
                        "$ELECTRON" "$@"
                        exit $?
                fi
        fi
fi
if [ $IN_WSL = true ]; then

        export WSLENV="ELECTRON_RUN_AS_NODE/w:$WSLENV"
        CLI=$(wslpath -m "$VSCODE_PATH/resources/app/out/cli.js")

        # use the Remote WSL extension if installed
        WSL_EXT_ID="ms-vscode-remote.remote-wsl"

        ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" --locate-extension $WSL_EXT_ID >/tmp/remote-wsl-loc.txt 2>/dev/null </dev/null
        WSL_EXT_WLOC=$(cat /tmp/remote-wsl-loc.txt)

        if [ -n "$WSL_EXT_WLOC" ]; then
                # replace \r\n with \n in WSL_EXT_WLOC
                WSL_CODE=$(wslpath -u "${WSL_EXT_WLOC%%[[:cntrl:]]}")/scripts/wslCode.sh
                "$WSL_CODE" "$COMMIT" "$QUALITY" "$ELECTRON" "$APP_NAME" "$SERVERDATAFOLDER" "$@"
                exit $?
        fi

elif [ -x "$(command -v cygpath)" ]; then
        CLI=$(cygpath -m "$VSCODE_PATH/resources/app/out/cli.js")
else
        CLI="$VSCODE_PATH/resources/app/out/cli.js"
fi
ELECTRON_RUN_AS_NODE=1 "$ELECTRON" "$CLI" "$@"
exit $?

2 참고[ | ]