-
Notifications
You must be signed in to change notification settings - Fork 0
/
restore_vscode.sh
30 lines (24 loc) · 723 Bytes
/
restore_vscode.sh
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
#!/bin/bash
# usage : first (and only) argument is the path to the zip backup file
if [ ! -f "$1" ]; then
echo "backup file not found"
exit 1
fi
# structure of the zip backup file :
# code_XXX_amd64.deb
# extensions/*.vsix
# extensions.txt
# keybindings.json (optional)
# settings.json
WORKDIR="/tmp/$(date +'%Y-%m-%dT%H-%M-%S')"
mkdir -p "$WORKDIR"
echo "WORKDIR = $WORKDIR"
unzip $1 -d "$WORKDIR"
echo "installing vscode"
sudo dpkg -i "$WORKDIR"/code*.deb
echo "restoring settings.json and keybindings.json"
cp "$WORKDIR/settings.json" "$WORKDIR/keybindings.json" "$HOME/.vscode/" 2> /dev/null
echo "restoring extensions"
for ext in "$WORKDIR"/extensions/*.vsix; do
code --install-extension "$ext"
done