33# Common IDE settings - sourced by vscode.sh and code-editor.sh
44# =============================================================================
55
6- # Extensions
6+ # Extensions to install
77EXTENSIONS=" vscjava.vscode-java-pack,ms-azuretools.vscode-docker,ms-kubernetes-tools.vscode-kubernetes-tools"
8- # EXTENSIONS="AmazonWebServices.aws-toolkit-vscode,vscjava.vscode-java-pack,ms-azuretools.vscode-docker,ms-kubernetes-tools.vscode-kubernetes-tools,esbenp.prettier-vscode,shardulm94.trailing-spaces"
8+
9+ # Extensions to uninstall (pre-installed but unwanted)
10+ EXTENSIONS_UNINSTALL=" AmazonWebServices.aws-toolkit-vscode,AmazonWebServices.amazon-q-vscode"
911
1012# Default workspace folder
1113DEFAULT_WORKSPACE=" /home/ec2-user/environment"
@@ -14,12 +16,33 @@ DEFAULT_WORKSPACE="/home/ec2-user/environment"
1416# Shared Functions
1517# =============================================================================
1618
19+ # Uninstall extensions using provided binary
20+ # Usage: uninstall_ide_extensions <binary_command> <user>
21+ uninstall_ide_extensions () {
22+ local binary_cmd=" $1 "
23+ local user=" $2 "
24+
25+ echo " Uninstalling unwanted extensions using: $binary_cmd "
26+
27+ IFS=' ,' read -ra extension_array <<< " $EXTENSIONS_UNINSTALL"
28+ for extension in " ${extension_array[@]} " ; do
29+ extension=$( echo " $extension " | xargs)
30+ if [ -n " $extension " ]; then
31+ echo " Uninstalling extension: $extension "
32+ sudo -u $user $binary_cmd --uninstall-extension $extension 2> /dev/null || true
33+ fi
34+ done
35+ }
36+
1737# Install extensions using provided binary
1838# Usage: install_ide_extensions <binary_command> <user>
1939install_ide_extensions () {
2040 local binary_cmd=" $1 "
2141 local user=" $2 "
2242
43+ # First uninstall unwanted extensions
44+ uninstall_ide_extensions " $binary_cmd " " $user "
45+
2346 echo " Installing IDE extensions using: $binary_cmd "
2447
2548 IFS=' ,' read -ra extension_array <<< " $EXTENSIONS"
0 commit comments