@fredlackey/devutils 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/package.json +1 -1
- package/src/commands/install.js +374 -36
- package/src/installs/adobe-creative-cloud.js +527 -25
- package/src/installs/adobe-creative-cloud.md +605 -0
- package/src/installs/appcleaner.js +303 -26
- package/src/installs/appcleaner.md +699 -0
- package/src/installs/apt-transport-https.js +390 -0
- package/src/installs/apt-transport-https.md +678 -0
- package/src/installs/atomicparsley.js +624 -26
- package/src/installs/atomicparsley.md +795 -0
- package/src/installs/aws-cli.js +779 -26
- package/src/installs/aws-cli.md +727 -0
- package/src/installs/balena-etcher.js +688 -26
- package/src/installs/balena-etcher.md +761 -0
- package/src/installs/bambu-studio.js +912 -26
- package/src/installs/bambu-studio.md +780 -0
- package/src/installs/bash-completion.js +554 -23
- package/src/installs/bash-completion.md +833 -0
- package/src/installs/bash.js +399 -26
- package/src/installs/bash.md +993 -0
- package/src/installs/beyond-compare.js +585 -26
- package/src/installs/beyond-compare.md +813 -0
- package/src/installs/build-essential.js +511 -26
- package/src/installs/build-essential.md +977 -0
- package/src/installs/ca-certificates.js +618 -0
- package/src/installs/ca-certificates.md +937 -0
- package/src/installs/caffeine.js +490 -26
- package/src/installs/caffeine.md +839 -0
- package/src/installs/camtasia.js +577 -25
- package/src/installs/camtasia.md +762 -0
- package/src/installs/chatgpt.js +458 -26
- package/src/installs/chatgpt.md +814 -0
- package/src/installs/chocolatey.js +447 -0
- package/src/installs/chocolatey.md +661 -0
- package/src/installs/chrome-canary.js +472 -26
- package/src/installs/chrome-canary.md +641 -0
- package/src/installs/chromium.js +645 -26
- package/src/installs/chromium.md +838 -0
- package/src/installs/claude-code.js +558 -26
- package/src/installs/claude-code.md +1173 -0
- package/src/installs/curl.js +361 -26
- package/src/installs/curl.md +714 -0
- package/src/installs/cursor.js +561 -26
- package/src/installs/cursor.md +970 -0
- package/src/installs/dbschema.js +674 -26
- package/src/installs/dbschema.md +925 -0
- package/src/installs/dependencies.md +435 -0
- package/src/installs/development-tools.js +600 -0
- package/src/installs/development-tools.md +977 -0
- package/src/installs/docker.js +1010 -25
- package/src/installs/docker.md +1109 -0
- package/src/installs/drawio.js +1001 -26
- package/src/installs/drawio.md +795 -0
- package/src/installs/elmedia-player.js +328 -25
- package/src/installs/elmedia-player.md +556 -0
- package/src/installs/ffmpeg.js +870 -25
- package/src/installs/ffmpeg.md +852 -0
- package/src/installs/file.js +464 -0
- package/src/installs/file.md +987 -0
- package/src/installs/gemini-cli.js +793 -26
- package/src/installs/gemini-cli.md +1153 -0
- package/src/installs/git.js +382 -26
- package/src/installs/git.md +907 -0
- package/src/installs/gitego.js +931 -26
- package/src/installs/gitego.md +1172 -0
- package/src/installs/go.js +913 -26
- package/src/installs/go.md +958 -0
- package/src/installs/google-chrome.js +801 -25
- package/src/installs/google-chrome.md +862 -0
- package/src/installs/gpg.js +412 -73
- package/src/installs/gpg.md +1056 -0
- package/src/installs/homebrew.js +1015 -26
- package/src/installs/homebrew.md +988 -0
- package/src/installs/imageoptim.js +950 -26
- package/src/installs/imageoptim.md +1119 -0
- package/src/installs/installers.json +2297 -0
- package/src/installs/jq.js +382 -26
- package/src/installs/jq.md +809 -0
- package/src/installs/keyboard-maestro.js +701 -26
- package/src/installs/keyboard-maestro.md +825 -0
- package/src/installs/latex.js +771 -26
- package/src/installs/latex.md +1095 -0
- package/src/installs/lftp.js +338 -26
- package/src/installs/lftp.md +907 -0
- package/src/installs/lsb-release.js +346 -0
- package/src/installs/lsb-release.md +814 -0
- package/src/installs/messenger.js +829 -26
- package/src/installs/messenger.md +900 -0
- package/src/installs/microsoft-office.js +550 -26
- package/src/installs/microsoft-office.md +760 -0
- package/src/installs/microsoft-teams.js +782 -25
- package/src/installs/microsoft-teams.md +886 -0
- package/src/installs/node.js +886 -26
- package/src/installs/node.md +1153 -0
- package/src/installs/nordpass.js +698 -26
- package/src/installs/nordpass.md +921 -0
- package/src/installs/nvm.js +977 -26
- package/src/installs/nvm.md +1057 -0
- package/src/installs/openssh.js +734 -64
- package/src/installs/openssh.md +1056 -0
- package/src/installs/pandoc.js +644 -26
- package/src/installs/pandoc.md +1036 -0
- package/src/installs/pinentry.js +492 -26
- package/src/installs/pinentry.md +1142 -0
- package/src/installs/pngyu.js +851 -26
- package/src/installs/pngyu.md +896 -0
- package/src/installs/postman.js +781 -26
- package/src/installs/postman.md +940 -0
- package/src/installs/procps.js +425 -0
- package/src/installs/procps.md +851 -0
- package/src/installs/safari-tech-preview.js +355 -25
- package/src/installs/safari-tech-preview.md +533 -0
- package/src/installs/sfnt2woff.js +640 -26
- package/src/installs/sfnt2woff.md +795 -0
- package/src/installs/shellcheck.js +463 -26
- package/src/installs/shellcheck.md +1005 -0
- package/src/installs/slack.js +722 -25
- package/src/installs/slack.md +865 -0
- package/src/installs/snagit.js +566 -25
- package/src/installs/snagit.md +844 -0
- package/src/installs/software-properties-common.js +372 -0
- package/src/installs/software-properties-common.md +805 -0
- package/src/installs/spotify.js +858 -25
- package/src/installs/spotify.md +901 -0
- package/src/installs/studio-3t.js +803 -26
- package/src/installs/studio-3t.md +918 -0
- package/src/installs/sublime-text.js +780 -25
- package/src/installs/sublime-text.md +914 -0
- package/src/installs/superwhisper.js +687 -25
- package/src/installs/superwhisper.md +630 -0
- package/src/installs/tailscale.js +727 -26
- package/src/installs/tailscale.md +1100 -0
- package/src/installs/tar.js +389 -0
- package/src/installs/tar.md +946 -0
- package/src/installs/termius.js +780 -26
- package/src/installs/termius.md +844 -0
- package/src/installs/terraform.js +761 -26
- package/src/installs/terraform.md +899 -0
- package/src/installs/tidal.js +752 -25
- package/src/installs/tidal.md +864 -0
- package/src/installs/tmux.js +328 -26
- package/src/installs/tmux.md +1030 -0
- package/src/installs/tree.js +393 -26
- package/src/installs/tree.md +833 -0
- package/src/installs/unzip.js +460 -0
- package/src/installs/unzip.md +879 -0
- package/src/installs/vim.js +403 -26
- package/src/installs/vim.md +1040 -0
- package/src/installs/vlc.js +803 -26
- package/src/installs/vlc.md +927 -0
- package/src/installs/vscode.js +825 -26
- package/src/installs/vscode.md +1002 -0
- package/src/installs/wget.js +415 -0
- package/src/installs/wget.md +791 -0
- package/src/installs/whatsapp.js +710 -25
- package/src/installs/whatsapp.md +854 -0
- package/src/installs/winpty.js +352 -0
- package/src/installs/winpty.md +620 -0
- package/src/installs/woff2.js +535 -26
- package/src/installs/woff2.md +977 -0
- package/src/installs/wsl.js +572 -0
- package/src/installs/wsl.md +699 -0
- package/src/installs/xcode-clt.js +520 -0
- package/src/installs/xcode-clt.md +351 -0
- package/src/installs/xcode.js +542 -26
- package/src/installs/xcode.md +573 -0
- package/src/installs/yarn.js +806 -26
- package/src/installs/yarn.md +1074 -0
- package/src/installs/yq.js +636 -26
- package/src/installs/yq.md +944 -0
- package/src/installs/yt-dlp.js +683 -26
- package/src/installs/yt-dlp.md +946 -0
- package/src/installs/yum-utils.js +297 -0
- package/src/installs/yum-utils.md +648 -0
- package/src/installs/zoom.js +740 -25
- package/src/installs/zoom.md +884 -0
- package/src/scripts/README.md +567 -45
- package/src/scripts/STATUS.md +208 -0
- package/src/scripts/afk.js +395 -7
- package/src/scripts/backup-all.js +731 -9
- package/src/scripts/backup-source.js +711 -8
- package/src/scripts/brewd.js +373 -7
- package/src/scripts/brewi.js +505 -9
- package/src/scripts/brewr.js +512 -9
- package/src/scripts/brews.js +462 -9
- package/src/scripts/brewu.js +488 -7
- package/src/scripts/c.js +185 -7
- package/src/scripts/ccurl.js +325 -8
- package/src/scripts/certbot-crontab-init.js +488 -8
- package/src/scripts/certbot-init.js +641 -9
- package/src/scripts/ch.js +339 -7
- package/src/scripts/claude-danger.js +253 -8
- package/src/scripts/clean-dev.js +419 -8
- package/src/scripts/clear-dns-cache.js +525 -7
- package/src/scripts/clone.js +417 -7
- package/src/scripts/code-all.js +420 -7
- package/src/scripts/count-files.js +195 -8
- package/src/scripts/count-folders.js +195 -8
- package/src/scripts/count.js +248 -8
- package/src/scripts/d.js +203 -7
- package/src/scripts/datauri.js +373 -8
- package/src/scripts/delete-files.js +363 -7
- package/src/scripts/docker-clean.js +410 -8
- package/src/scripts/dp.js +426 -7
- package/src/scripts/e.js +375 -9
- package/src/scripts/empty-trash.js +497 -7
- package/src/scripts/evm.js +428 -9
- package/src/scripts/fetch-github-repos.js +441 -10
- package/src/scripts/get-channel.js +329 -8
- package/src/scripts/get-course.js +384 -11
- package/src/scripts/get-dependencies.js +290 -9
- package/src/scripts/get-folder.js +783 -10
- package/src/scripts/get-tunes.js +411 -10
- package/src/scripts/get-video.js +352 -9
- package/src/scripts/git-backup.js +561 -9
- package/src/scripts/git-clone.js +477 -9
- package/src/scripts/git-pup.js +303 -7
- package/src/scripts/git-push.js +380 -8
- package/src/scripts/h.js +607 -9
- package/src/scripts/hide-desktop-icons.js +483 -7
- package/src/scripts/hide-hidden-files.js +522 -7
- package/src/scripts/install-dependencies-from.js +440 -9
- package/src/scripts/ips.js +647 -10
- package/src/scripts/iso.js +354 -8
- package/src/scripts/killni.js +561 -7
- package/src/scripts/ll.js +451 -8
- package/src/scripts/local-ip.js +310 -8
- package/src/scripts/m.js +508 -8
- package/src/scripts/map.js +293 -8
- package/src/scripts/mkd.js +287 -7
- package/src/scripts/ncu-update-all.js +441 -8
- package/src/scripts/nginx-init.js +702 -12
- package/src/scripts/npmi.js +366 -7
- package/src/scripts/o.js +495 -8
- package/src/scripts/org-by-date.js +321 -7
- package/src/scripts/p.js +208 -7
- package/src/scripts/packages.js +313 -8
- package/src/scripts/path.js +209 -7
- package/src/scripts/ports.js +582 -8
- package/src/scripts/q.js +290 -8
- package/src/scripts/refresh-files.js +378 -10
- package/src/scripts/remove-smaller-files.js +500 -8
- package/src/scripts/rename-files-with-date.js +517 -9
- package/src/scripts/resize-image.js +523 -9
- package/src/scripts/rm-safe.js +653 -8
- package/src/scripts/s.js +525 -9
- package/src/scripts/set-git-public.js +349 -7
- package/src/scripts/show-desktop-icons.js +459 -7
- package/src/scripts/show-hidden-files.js +456 -7
- package/src/scripts/tpa.js +265 -8
- package/src/scripts/tpo.js +264 -7
- package/src/scripts/u.js +489 -7
- package/src/scripts/vpush.js +422 -8
- package/src/scripts/y.js +267 -7
- package/src/utils/common/os.js +94 -2
- package/src/utils/ubuntu/apt.js +13 -7
- package/src/utils/windows/choco.js +82 -26
- package/src/utils/windows/winget.js +89 -27
|
@@ -0,0 +1,1002 @@
|
|
|
1
|
+
# Installing Visual Studio Code
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
Visual Studio Code (VS Code) is a free, open-source code editor developed by Microsoft. It provides a lightweight yet powerful development environment with built-in support for JavaScript, TypeScript, and Node.js, along with a rich ecosystem of extensions for other languages and tools. VS Code features intelligent code completion (IntelliSense), integrated debugging, Git integration, and a highly customizable interface that adapts to your workflow.
|
|
6
|
+
|
|
7
|
+
VS Code is available for Windows, macOS, and Linux, making it a popular choice for cross-platform development teams. This guide documents the installation process for all platforms supported by DevUtils CLI.
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
Before installing Visual Studio Code on any platform, ensure:
|
|
12
|
+
|
|
13
|
+
1. **Internet connectivity** - Required to download VS Code packages
|
|
14
|
+
2. **Administrative privileges** - Required for system-wide installation (most platforms)
|
|
15
|
+
3. **Sufficient disk space** - Approximately 500 MB for installation
|
|
16
|
+
4. **64-bit operating system** - Required for all platforms (32-bit is deprecated)
|
|
17
|
+
|
|
18
|
+
## Dependencies
|
|
19
|
+
|
|
20
|
+
### macOS (Homebrew)
|
|
21
|
+
- **Required:**
|
|
22
|
+
- Homebrew package manager - Install via `/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"` or run `dev install homebrew`
|
|
23
|
+
- **Optional:** None
|
|
24
|
+
- **Auto-installed:** None (Homebrew handles all cask dependencies internally)
|
|
25
|
+
|
|
26
|
+
### Ubuntu (APT/Snap)
|
|
27
|
+
- **Required:**
|
|
28
|
+
- `wget` - Install via `sudo apt-get install -y wget`
|
|
29
|
+
- `gpg` - Install via `sudo apt-get install -y gpg`
|
|
30
|
+
- `apt-transport-https` - Install via `sudo apt-get install -y apt-transport-https`
|
|
31
|
+
- **Optional:** None
|
|
32
|
+
- **Auto-installed:** All VS Code package dependencies are automatically installed by APT (including required libraries for GUI rendering, fonts, etc.)
|
|
33
|
+
|
|
34
|
+
### Raspberry Pi OS (APT/Snap)
|
|
35
|
+
- **Required:**
|
|
36
|
+
- When using default Raspberry Pi OS repository: None
|
|
37
|
+
- When using Microsoft repository: `wget`, `gpg`, `apt-transport-https` - Install via `sudo apt-get install -y wget gpg apt-transport-https`
|
|
38
|
+
- **Optional:** None
|
|
39
|
+
- **Auto-installed:** All VS Code package dependencies are automatically installed by APT
|
|
40
|
+
|
|
41
|
+
### Amazon Linux (DNF/YUM)
|
|
42
|
+
- **Required:**
|
|
43
|
+
- `rpm` - Pre-installed on Amazon Linux, RHEL, and CentOS
|
|
44
|
+
- `dnf` (Amazon Linux 2023, RHEL 8+) or `yum` (Amazon Linux 2) - Pre-installed on respective platforms
|
|
45
|
+
- **Optional:** None
|
|
46
|
+
- **Auto-installed:**
|
|
47
|
+
- `libX11`, `libxcb`, `libXcomposite`, `libXcursor`, `libXdamage`, `libXext`, `libXfixes`, `libXi`, `libXrender`, `libXtst` - X11 GUI libraries
|
|
48
|
+
- `alsa-lib` - Audio library
|
|
49
|
+
- Note: These may need manual installation on minimal/headless systems via `sudo dnf install -y libX11 libxcb libXcomposite libXcursor libXdamage libXext libXfixes libXi libXrender libXtst alsa-lib`
|
|
50
|
+
|
|
51
|
+
### Windows (Chocolatey/winget)
|
|
52
|
+
- **Required:**
|
|
53
|
+
- Chocolatey package manager - Install via PowerShell: `Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))`
|
|
54
|
+
- OR winget (Windows Package Manager) - Pre-installed on Windows 11 and recent Windows 10 versions
|
|
55
|
+
- **Optional:** None
|
|
56
|
+
- **Auto-installed:**
|
|
57
|
+
- .NET Framework (if required by Chocolatey and not already present)
|
|
58
|
+
- Visual C++ Redistributables (if required by VS Code and not already present)
|
|
59
|
+
|
|
60
|
+
### Git Bash (Manual/Portable)
|
|
61
|
+
- **Required:**
|
|
62
|
+
- Visual Studio Code installed on Windows host (see Windows installation above)
|
|
63
|
+
- Chocolatey package manager (for automated installation via PowerShell interop)
|
|
64
|
+
- **Optional:**
|
|
65
|
+
- `winpty` - Enables TTY compatibility for interactive VS Code features in Git Bash - Pre-installed with Git for Windows
|
|
66
|
+
- **Auto-installed:** None (Git Bash inherits the Windows PATH and accesses the Windows VS Code installation directly)
|
|
67
|
+
|
|
68
|
+
## Platform-Specific Installation
|
|
69
|
+
|
|
70
|
+
### macOS (Homebrew)
|
|
71
|
+
|
|
72
|
+
#### Prerequisites
|
|
73
|
+
|
|
74
|
+
- macOS 10.15 (Catalina) or later
|
|
75
|
+
- Homebrew package manager installed
|
|
76
|
+
- Apple Silicon (M1/M2/M3/M4) or Intel processor
|
|
77
|
+
|
|
78
|
+
If Homebrew is not installed, install it first:
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
#### Installation Steps
|
|
85
|
+
|
|
86
|
+
Run the following command to install Visual Studio Code:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
brew install --quiet --cask visual-studio-code
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
The `--quiet` flag suppresses non-essential output for cleaner installation logs. The `--cask` option specifies the graphical application version.
|
|
93
|
+
|
|
94
|
+
After installation, add the `code` command to your PATH for terminal access. This step is normally automatic on modern versions, but if needed, add manually:
|
|
95
|
+
|
|
96
|
+
**For Zsh (default on macOS):**
|
|
97
|
+
|
|
98
|
+
```bash
|
|
99
|
+
cat << 'EOF' >> ~/.zprofile
|
|
100
|
+
# Add Visual Studio Code (code)
|
|
101
|
+
export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
|
|
102
|
+
EOF
|
|
103
|
+
source ~/.zprofile
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**For Bash:**
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
cat << 'EOF' >> ~/.bash_profile
|
|
110
|
+
# Add Visual Studio Code (code)
|
|
111
|
+
export PATH="$PATH:/Applications/Visual Studio Code.app/Contents/Resources/app/bin"
|
|
112
|
+
EOF
|
|
113
|
+
source ~/.bash_profile
|
|
114
|
+
```
|
|
115
|
+
|
|
116
|
+
#### Verification
|
|
117
|
+
|
|
118
|
+
Confirm the installation succeeded:
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
code --version
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Expected output (version numbers may vary):
|
|
125
|
+
|
|
126
|
+
```
|
|
127
|
+
1.107.1
|
|
128
|
+
e54c774e0add60467559eb0d1e229c6452cf8447
|
|
129
|
+
x64
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
Test that VS Code launches correctly:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
code --help
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
#### Troubleshooting
|
|
139
|
+
|
|
140
|
+
**Problem**: `code: command not found` after installation
|
|
141
|
+
|
|
142
|
+
**Solution**: The `code` command may not be in your PATH. Either add it manually (see Installation Steps above) or launch VS Code, open the Command Palette (Cmd+Shift+P), and run "Shell Command: Install 'code' command in PATH".
|
|
143
|
+
|
|
144
|
+
**Problem**: "Visual Studio Code.app" is damaged and can't be opened
|
|
145
|
+
|
|
146
|
+
**Solution**: Clear the quarantine attribute:
|
|
147
|
+
|
|
148
|
+
```bash
|
|
149
|
+
xattr -cr "/Applications/Visual Studio Code.app"
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
**Problem**: Homebrew reports the cask is already installed
|
|
153
|
+
|
|
154
|
+
**Solution**: Reinstall to update:
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
brew reinstall --cask visual-studio-code
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
---
|
|
161
|
+
|
|
162
|
+
### Ubuntu/Debian (APT)
|
|
163
|
+
|
|
164
|
+
#### Prerequisites
|
|
165
|
+
|
|
166
|
+
- Ubuntu 20.04 (Focal) or later, or Debian 10 (Buster) or later (64-bit)
|
|
167
|
+
- sudo privileges
|
|
168
|
+
- wget and gpg utilities
|
|
169
|
+
|
|
170
|
+
**Important**: Do not use `apt install code` without first adding Microsoft's repository. The package may not exist or may be outdated.
|
|
171
|
+
|
|
172
|
+
#### Installation Steps
|
|
173
|
+
|
|
174
|
+
**Step 1: Install prerequisites and import Microsoft's GPG key**
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
178
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget gpg apt-transport-https
|
|
179
|
+
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /tmp/microsoft.gpg
|
|
180
|
+
sudo install -D -o root -g root -m 644 /tmp/microsoft.gpg /usr/share/keyrings/microsoft.gpg
|
|
181
|
+
rm -f /tmp/microsoft.gpg
|
|
182
|
+
```
|
|
183
|
+
|
|
184
|
+
**Step 2: Add Microsoft's APT repository**
|
|
185
|
+
|
|
186
|
+
```bash
|
|
187
|
+
echo "Types: deb
|
|
188
|
+
URIs: https://packages.microsoft.com/repos/code
|
|
189
|
+
Suites: stable
|
|
190
|
+
Components: main
|
|
191
|
+
Architectures: amd64,arm64,armhf
|
|
192
|
+
Signed-By: /usr/share/keyrings/microsoft.gpg" | sudo tee /etc/apt/sources.list.d/vscode.sources > /dev/null
|
|
193
|
+
```
|
|
194
|
+
|
|
195
|
+
**Step 3: Install Visual Studio Code**
|
|
196
|
+
|
|
197
|
+
```bash
|
|
198
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
199
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y code
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
The `DEBIAN_FRONTEND=noninteractive` environment variable and `-y` flag ensure fully automated installation with no prompts.
|
|
203
|
+
|
|
204
|
+
#### Verification
|
|
205
|
+
|
|
206
|
+
Confirm the installation succeeded:
|
|
207
|
+
|
|
208
|
+
```bash
|
|
209
|
+
code --version
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
Expected output (version numbers may vary):
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
1.107.1
|
|
216
|
+
e54c774e0add60467559eb0d1e229c6452cf8447
|
|
217
|
+
x64
|
|
218
|
+
```
|
|
219
|
+
|
|
220
|
+
Verify the package is from Microsoft's repository:
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
apt-cache policy code
|
|
224
|
+
```
|
|
225
|
+
|
|
226
|
+
The output should show `https://packages.microsoft.com/repos/code` as the source.
|
|
227
|
+
|
|
228
|
+
#### Troubleshooting
|
|
229
|
+
|
|
230
|
+
**Problem**: `E: Unable to locate package code`
|
|
231
|
+
|
|
232
|
+
**Solution**: The repository was not added correctly. Verify the sources file exists and has correct content:
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
cat /etc/apt/sources.list.d/vscode.sources
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
If missing or malformed, repeat Steps 1 and 2.
|
|
239
|
+
|
|
240
|
+
**Problem**: GPG key import fails with permission errors
|
|
241
|
+
|
|
242
|
+
**Solution**: Ensure wget and gpg are installed, and use a temporary file with proper permissions:
|
|
243
|
+
|
|
244
|
+
```bash
|
|
245
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget gpg
|
|
246
|
+
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /usr/share/keyrings/microsoft.gpg > /dev/null
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
**Problem**: VS Code does not launch on headless server
|
|
250
|
+
|
|
251
|
+
**Solution**: VS Code requires a graphical display. For remote development, use the Remote-SSH extension from a desktop VS Code instance, or install on a desktop system.
|
|
252
|
+
|
|
253
|
+
**Problem**: Pop!_OS or other distributions install wrong package
|
|
254
|
+
|
|
255
|
+
**Solution**: Create a preferences file to prioritize Microsoft's repository:
|
|
256
|
+
|
|
257
|
+
```bash
|
|
258
|
+
echo 'Package: code
|
|
259
|
+
Pin: origin "packages.microsoft.com"
|
|
260
|
+
Pin-Priority: 9999' | sudo tee /etc/apt/preferences.d/code
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
---
|
|
264
|
+
|
|
265
|
+
### Raspberry Pi OS (APT)
|
|
266
|
+
|
|
267
|
+
#### Prerequisites
|
|
268
|
+
|
|
269
|
+
- Raspberry Pi OS (64-bit recommended) - Bookworm or Bullseye
|
|
270
|
+
- Raspberry Pi 3B+ or later (64-bit capable hardware recommended)
|
|
271
|
+
- At least 1 GB RAM (2 GB or more recommended for comfortable usage)
|
|
272
|
+
- sudo privileges
|
|
273
|
+
|
|
274
|
+
Verify your architecture:
|
|
275
|
+
|
|
276
|
+
```bash
|
|
277
|
+
uname -m
|
|
278
|
+
```
|
|
279
|
+
|
|
280
|
+
- `aarch64` = 64-bit (recommended)
|
|
281
|
+
- `armv7l` = 32-bit (limited performance)
|
|
282
|
+
|
|
283
|
+
#### Installation Steps
|
|
284
|
+
|
|
285
|
+
VS Code is available in the official Raspberry Pi OS APT repository. Run these commands:
|
|
286
|
+
|
|
287
|
+
```bash
|
|
288
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
289
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y code
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
The Raspberry Pi OS repository includes ARM-compatible builds of VS Code, eliminating the need to manually add Microsoft's repository.
|
|
293
|
+
|
|
294
|
+
**Alternative for latest version (if Raspberry Pi OS repo is outdated):**
|
|
295
|
+
|
|
296
|
+
If you need the latest VS Code version, add Microsoft's repository instead:
|
|
297
|
+
|
|
298
|
+
```bash
|
|
299
|
+
# Install prerequisites
|
|
300
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
301
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget gpg apt-transport-https
|
|
302
|
+
|
|
303
|
+
# Import GPG key
|
|
304
|
+
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /tmp/microsoft.gpg
|
|
305
|
+
sudo install -D -o root -g root -m 644 /tmp/microsoft.gpg /usr/share/keyrings/microsoft.gpg
|
|
306
|
+
rm -f /tmp/microsoft.gpg
|
|
307
|
+
|
|
308
|
+
# Add repository
|
|
309
|
+
echo "Types: deb
|
|
310
|
+
URIs: https://packages.microsoft.com/repos/code
|
|
311
|
+
Suites: stable
|
|
312
|
+
Components: main
|
|
313
|
+
Architectures: arm64,armhf
|
|
314
|
+
Signed-By: /usr/share/keyrings/microsoft.gpg" | sudo tee /etc/apt/sources.list.d/vscode.sources > /dev/null
|
|
315
|
+
|
|
316
|
+
# Install
|
|
317
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
318
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y code
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
#### Verification
|
|
322
|
+
|
|
323
|
+
Confirm the installation succeeded:
|
|
324
|
+
|
|
325
|
+
```bash
|
|
326
|
+
code --version
|
|
327
|
+
```
|
|
328
|
+
|
|
329
|
+
Expected output (version numbers may vary):
|
|
330
|
+
|
|
331
|
+
```
|
|
332
|
+
1.107.1
|
|
333
|
+
e54c774e0add60467559eb0d1e229c6452cf8447
|
|
334
|
+
arm64
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
Launch VS Code:
|
|
338
|
+
|
|
339
|
+
```bash
|
|
340
|
+
code
|
|
341
|
+
```
|
|
342
|
+
|
|
343
|
+
#### Troubleshooting
|
|
344
|
+
|
|
345
|
+
**Problem**: VS Code is very slow or unresponsive
|
|
346
|
+
|
|
347
|
+
**Solution**: Disable hardware acceleration. Open VS Code, press Ctrl+Shift+P, type "Preferences: Configure Runtime Arguments", and add:
|
|
348
|
+
|
|
349
|
+
```json
|
|
350
|
+
{
|
|
351
|
+
"disable-hardware-acceleration": true
|
|
352
|
+
}
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
Alternatively, launch with the flag:
|
|
356
|
+
|
|
357
|
+
```bash
|
|
358
|
+
code --disable-gpu
|
|
359
|
+
```
|
|
360
|
+
|
|
361
|
+
**Problem**: Out of memory errors
|
|
362
|
+
|
|
363
|
+
**Solution**: Close other applications and consider adding swap space:
|
|
364
|
+
|
|
365
|
+
```bash
|
|
366
|
+
sudo fallocate -l 2G /swapfile
|
|
367
|
+
sudo chmod 600 /swapfile
|
|
368
|
+
sudo mkswap /swapfile
|
|
369
|
+
sudo swapon /swapfile
|
|
370
|
+
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
|
|
371
|
+
```
|
|
372
|
+
|
|
373
|
+
**Problem**: VS Code not found in Programming menu
|
|
374
|
+
|
|
375
|
+
**Solution**: Refresh the desktop environment:
|
|
376
|
+
|
|
377
|
+
```bash
|
|
378
|
+
lxpanelctl restart
|
|
379
|
+
```
|
|
380
|
+
|
|
381
|
+
**Problem**: Display issues on older Raspberry Pi models
|
|
382
|
+
|
|
383
|
+
**Solution**: Use the 32-bit version of Raspberry Pi OS for Raspberry Pi 3B or earlier, and ensure GPU memory is set appropriately in `raspi-config`.
|
|
384
|
+
|
|
385
|
+
---
|
|
386
|
+
|
|
387
|
+
### Amazon Linux/RHEL (DNF/YUM)
|
|
388
|
+
|
|
389
|
+
#### Prerequisites
|
|
390
|
+
|
|
391
|
+
- Amazon Linux 2023 (AL2023), Amazon Linux 2 (AL2), RHEL 8+, or CentOS 8+
|
|
392
|
+
- sudo privileges
|
|
393
|
+
- 64-bit system
|
|
394
|
+
|
|
395
|
+
**Note**: Amazon Linux 2023 uses DNF as the package manager. Amazon Linux 2 uses YUM. This guide uses DNF commands; replace `dnf` with `yum` for AL2.
|
|
396
|
+
|
|
397
|
+
#### Installation Steps
|
|
398
|
+
|
|
399
|
+
**Step 1: Import Microsoft's GPG key and add the repository**
|
|
400
|
+
|
|
401
|
+
```bash
|
|
402
|
+
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
|
|
403
|
+
echo -e "[code]\nname=Visual Studio Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\nautorefresh=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" | sudo tee /etc/yum.repos.d/vscode.repo > /dev/null
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
**Step 2: Install Visual Studio Code**
|
|
407
|
+
|
|
408
|
+
For Amazon Linux 2023 and RHEL 8+ (DNF):
|
|
409
|
+
|
|
410
|
+
```bash
|
|
411
|
+
sudo dnf check-update || true
|
|
412
|
+
sudo dnf install -y code
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
For Amazon Linux 2 (YUM):
|
|
416
|
+
|
|
417
|
+
```bash
|
|
418
|
+
sudo yum check-update || true
|
|
419
|
+
sudo yum install -y code
|
|
420
|
+
```
|
|
421
|
+
|
|
422
|
+
The `|| true` ensures the command does not fail if there are no updates (check-update returns exit code 100 when updates are available).
|
|
423
|
+
|
|
424
|
+
#### Verification
|
|
425
|
+
|
|
426
|
+
Confirm the installation succeeded:
|
|
427
|
+
|
|
428
|
+
```bash
|
|
429
|
+
code --version
|
|
430
|
+
```
|
|
431
|
+
|
|
432
|
+
Expected output (version numbers may vary):
|
|
433
|
+
|
|
434
|
+
```
|
|
435
|
+
1.107.1
|
|
436
|
+
e54c774e0add60467559eb0d1e229c6452cf8447
|
|
437
|
+
x64
|
|
438
|
+
```
|
|
439
|
+
|
|
440
|
+
Verify the repository is configured:
|
|
441
|
+
|
|
442
|
+
```bash
|
|
443
|
+
dnf repolist | grep code
|
|
444
|
+
```
|
|
445
|
+
|
|
446
|
+
#### Troubleshooting
|
|
447
|
+
|
|
448
|
+
**Problem**: `No package code available`
|
|
449
|
+
|
|
450
|
+
**Solution**: The repository was not added correctly. Verify the repo file:
|
|
451
|
+
|
|
452
|
+
```bash
|
|
453
|
+
cat /etc/yum.repos.d/vscode.repo
|
|
454
|
+
```
|
|
455
|
+
|
|
456
|
+
Ensure it contains the `[code]` section with the correct baseurl.
|
|
457
|
+
|
|
458
|
+
**Problem**: GPG key import fails
|
|
459
|
+
|
|
460
|
+
**Solution**: Import the key manually with curl:
|
|
461
|
+
|
|
462
|
+
```bash
|
|
463
|
+
curl -sSL https://packages.microsoft.com/keys/microsoft.asc | sudo rpm --import -
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
**Problem**: VS Code fails to launch with display errors
|
|
467
|
+
|
|
468
|
+
**Solution**: Ensure X11 forwarding is enabled if connecting remotely, or use the Remote-SSH extension from a desktop installation.
|
|
469
|
+
|
|
470
|
+
**Problem**: Dependency conflicts on older systems
|
|
471
|
+
|
|
472
|
+
**Solution**: Install required libraries:
|
|
473
|
+
|
|
474
|
+
```bash
|
|
475
|
+
sudo dnf install -y libX11 libxcb libXcomposite libXcursor libXdamage libXext libXfixes libXi libXrender libXtst alsa-lib
|
|
476
|
+
```
|
|
477
|
+
|
|
478
|
+
---
|
|
479
|
+
|
|
480
|
+
### Windows (Chocolatey)
|
|
481
|
+
|
|
482
|
+
#### Prerequisites
|
|
483
|
+
|
|
484
|
+
- Windows 10 version 1709 or later (64-bit), or Windows 11
|
|
485
|
+
- Administrator PowerShell or Command Prompt
|
|
486
|
+
- Chocolatey package manager installed
|
|
487
|
+
|
|
488
|
+
If Chocolatey is not installed, install it first by running this command in an Administrator PowerShell:
|
|
489
|
+
|
|
490
|
+
```powershell
|
|
491
|
+
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
#### Installation Steps
|
|
495
|
+
|
|
496
|
+
Run the following command in an Administrator PowerShell or Command Prompt:
|
|
497
|
+
|
|
498
|
+
```powershell
|
|
499
|
+
choco install vscode -y
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
The `-y` flag automatically confirms all prompts, enabling fully non-interactive installation.
|
|
503
|
+
|
|
504
|
+
The Chocolatey package automatically:
|
|
505
|
+
- Adds VS Code to the system PATH
|
|
506
|
+
- Creates "Open with Code" context menu entries for files and folders
|
|
507
|
+
- Does NOT start VS Code after installation
|
|
508
|
+
- Does NOT create a desktop icon (by default)
|
|
509
|
+
|
|
510
|
+
**To customize the installation:**
|
|
511
|
+
|
|
512
|
+
```powershell
|
|
513
|
+
choco install vscode -y --params "/NoContextMenuFiles /NoContextMenuFolders"
|
|
514
|
+
```
|
|
515
|
+
|
|
516
|
+
Available parameters:
|
|
517
|
+
- `/NoDesktopIcon` - Skip creating a desktop shortcut
|
|
518
|
+
- `/NoQuicklaunchIcon` - Skip Quick Launch icon
|
|
519
|
+
- `/NoContextMenuFiles` - Remove "Open with Code" from file context menu
|
|
520
|
+
- `/NoContextMenuFolders` - Remove "Open with Code" from folder context menu
|
|
521
|
+
- `/DontAddToPath` - Do not add to system PATH
|
|
522
|
+
|
|
523
|
+
#### Verification
|
|
524
|
+
|
|
525
|
+
Open a **new** Command Prompt or PowerShell window (to pick up PATH changes), then run:
|
|
526
|
+
|
|
527
|
+
```powershell
|
|
528
|
+
code --version
|
|
529
|
+
```
|
|
530
|
+
|
|
531
|
+
Expected output (version numbers may vary):
|
|
532
|
+
|
|
533
|
+
```
|
|
534
|
+
1.107.1
|
|
535
|
+
e54c774e0add60467559eb0d1e229c6452cf8447
|
|
536
|
+
x64
|
|
537
|
+
```
|
|
538
|
+
|
|
539
|
+
#### Troubleshooting
|
|
540
|
+
|
|
541
|
+
**Problem**: `code: The term 'code' is not recognized`
|
|
542
|
+
|
|
543
|
+
**Solution**: Open a new terminal window to refresh the PATH. If the problem persists, add VS Code to PATH manually:
|
|
544
|
+
|
|
545
|
+
```powershell
|
|
546
|
+
$vscodePath = "$env:LOCALAPPDATA\Programs\Microsoft VS Code\bin"
|
|
547
|
+
[Environment]::SetEnvironmentVariable("Path", $env:Path + ";$vscodePath", "User")
|
|
548
|
+
```
|
|
549
|
+
|
|
550
|
+
**Problem**: Installation requires restart
|
|
551
|
+
|
|
552
|
+
**Solution**: Some Windows updates may require a restart. Chocolatey will notify you if this is needed:
|
|
553
|
+
|
|
554
|
+
```powershell
|
|
555
|
+
choco install vscode -y
|
|
556
|
+
shutdown /r /t 60 /c "Restarting to complete VS Code installation"
|
|
557
|
+
```
|
|
558
|
+
|
|
559
|
+
**Problem**: Chocolatey installation blocked by antivirus
|
|
560
|
+
|
|
561
|
+
**Solution**: Temporarily disable real-time scanning or add an exception for the Chocolatey directory (`C:\ProgramData\chocolatey`).
|
|
562
|
+
|
|
563
|
+
---
|
|
564
|
+
|
|
565
|
+
### Windows (winget)
|
|
566
|
+
|
|
567
|
+
#### Prerequisites
|
|
568
|
+
|
|
569
|
+
- Windows 10 version 1809 or later (64-bit), or Windows 11
|
|
570
|
+
- Windows Package Manager (winget) - Pre-installed on Windows 11 and Windows 10 (recent versions)
|
|
571
|
+
|
|
572
|
+
Verify winget is available:
|
|
573
|
+
|
|
574
|
+
```powershell
|
|
575
|
+
winget --version
|
|
576
|
+
```
|
|
577
|
+
|
|
578
|
+
#### Installation Steps
|
|
579
|
+
|
|
580
|
+
Run the following command in PowerShell or Command Prompt:
|
|
581
|
+
|
|
582
|
+
```powershell
|
|
583
|
+
winget install --id Microsoft.VisualStudioCode --silent --accept-package-agreements --accept-source-agreements
|
|
584
|
+
```
|
|
585
|
+
|
|
586
|
+
The flags ensure fully non-interactive installation:
|
|
587
|
+
- `--id Microsoft.VisualStudioCode` - Exact package identifier
|
|
588
|
+
- `--silent` - No installation UI
|
|
589
|
+
- `--accept-package-agreements` - Automatically accept license agreements
|
|
590
|
+
- `--accept-source-agreements` - Automatically accept source repository agreements
|
|
591
|
+
|
|
592
|
+
**For custom installation options:**
|
|
593
|
+
|
|
594
|
+
```powershell
|
|
595
|
+
winget install --id Microsoft.VisualStudioCode --silent --accept-package-agreements --accept-source-agreements --override "/VERYSILENT /SP- /MERGETASKS=!runcode,addcontextmenufiles,addcontextmenufolders,associatewithfiles,addtopath"
|
|
596
|
+
```
|
|
597
|
+
|
|
598
|
+
The `/MERGETASKS` parameter controls which installation tasks are performed. Note the exact spelling - a common typo is "MERGETAKS" which is silently ignored.
|
|
599
|
+
|
|
600
|
+
#### Verification
|
|
601
|
+
|
|
602
|
+
Open a **new** terminal window, then run:
|
|
603
|
+
|
|
604
|
+
```powershell
|
|
605
|
+
code --version
|
|
606
|
+
```
|
|
607
|
+
|
|
608
|
+
Expected output (version numbers may vary):
|
|
609
|
+
|
|
610
|
+
```
|
|
611
|
+
1.107.1
|
|
612
|
+
e54c774e0add60467559eb0d1e229c6452cf8447
|
|
613
|
+
x64
|
|
614
|
+
```
|
|
615
|
+
|
|
616
|
+
#### Troubleshooting
|
|
617
|
+
|
|
618
|
+
**Problem**: `No package found matching input criteria`
|
|
619
|
+
|
|
620
|
+
**Solution**: Update the winget source:
|
|
621
|
+
|
|
622
|
+
```powershell
|
|
623
|
+
winget source update
|
|
624
|
+
winget install --id Microsoft.VisualStudioCode --silent --accept-package-agreements --accept-source-agreements
|
|
625
|
+
```
|
|
626
|
+
|
|
627
|
+
**Problem**: Installation hangs or times out
|
|
628
|
+
|
|
629
|
+
**Solution**: Try the User scope installation:
|
|
630
|
+
|
|
631
|
+
```powershell
|
|
632
|
+
winget install --id Microsoft.VisualStudioCode --scope user --silent --accept-package-agreements --accept-source-agreements
|
|
633
|
+
```
|
|
634
|
+
|
|
635
|
+
---
|
|
636
|
+
|
|
637
|
+
### WSL (Ubuntu)
|
|
638
|
+
|
|
639
|
+
#### Prerequisites
|
|
640
|
+
|
|
641
|
+
- Windows 10 version 2004 or later, or Windows 11
|
|
642
|
+
- WSL 2 enabled with Ubuntu distribution installed
|
|
643
|
+
- sudo privileges within WSL
|
|
644
|
+
|
|
645
|
+
**Recommended Approach**: Install VS Code on Windows and use the Remote-WSL extension. This is Microsoft's recommended workflow and provides the best performance.
|
|
646
|
+
|
|
647
|
+
#### Installation Steps
|
|
648
|
+
|
|
649
|
+
**Recommended: VS Code on Windows with Remote-WSL**
|
|
650
|
+
|
|
651
|
+
1. Install VS Code on Windows using Chocolatey or winget (see Windows sections above)
|
|
652
|
+
|
|
653
|
+
2. Launch VS Code from within WSL:
|
|
654
|
+
|
|
655
|
+
```bash
|
|
656
|
+
code .
|
|
657
|
+
```
|
|
658
|
+
|
|
659
|
+
On first run, VS Code automatically downloads and installs the VS Code Server in WSL, enabling seamless development.
|
|
660
|
+
|
|
661
|
+
**Alternative: Native VS Code in WSL (for GUI-enabled WSL)**
|
|
662
|
+
|
|
663
|
+
If you have WSLg (Windows 11) or an X server configured, you can install VS Code natively in WSL:
|
|
664
|
+
|
|
665
|
+
```bash
|
|
666
|
+
# Install prerequisites
|
|
667
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
668
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y wget gpg apt-transport-https
|
|
669
|
+
|
|
670
|
+
# Import GPG key
|
|
671
|
+
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /tmp/microsoft.gpg
|
|
672
|
+
sudo install -D -o root -g root -m 644 /tmp/microsoft.gpg /usr/share/keyrings/microsoft.gpg
|
|
673
|
+
rm -f /tmp/microsoft.gpg
|
|
674
|
+
|
|
675
|
+
# Add repository
|
|
676
|
+
echo "Types: deb
|
|
677
|
+
URIs: https://packages.microsoft.com/repos/code
|
|
678
|
+
Suites: stable
|
|
679
|
+
Components: main
|
|
680
|
+
Architectures: amd64,arm64,armhf
|
|
681
|
+
Signed-By: /usr/share/keyrings/microsoft.gpg" | sudo tee /etc/apt/sources.list.d/vscode.sources > /dev/null
|
|
682
|
+
|
|
683
|
+
# Install
|
|
684
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
685
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get install -y code
|
|
686
|
+
```
|
|
687
|
+
|
|
688
|
+
#### Verification
|
|
689
|
+
|
|
690
|
+
For the recommended approach (VS Code on Windows):
|
|
691
|
+
|
|
692
|
+
```bash
|
|
693
|
+
code --version
|
|
694
|
+
```
|
|
695
|
+
|
|
696
|
+
This should launch the Windows VS Code and display version information.
|
|
697
|
+
|
|
698
|
+
For native WSL installation:
|
|
699
|
+
|
|
700
|
+
```bash
|
|
701
|
+
code --version
|
|
702
|
+
```
|
|
703
|
+
|
|
704
|
+
Expected output (version numbers may vary):
|
|
705
|
+
|
|
706
|
+
```
|
|
707
|
+
1.107.1
|
|
708
|
+
e54c774e0add60467559eb0d1e229c6452cf8447
|
|
709
|
+
x64
|
|
710
|
+
```
|
|
711
|
+
|
|
712
|
+
#### Troubleshooting
|
|
713
|
+
|
|
714
|
+
**Problem**: `code` command not found in WSL
|
|
715
|
+
|
|
716
|
+
**Solution**: For the Windows approach, ensure VS Code is installed on Windows and the WSL integration is enabled. Open VS Code on Windows, install the "Remote - WSL" extension, and restart your WSL terminal.
|
|
717
|
+
|
|
718
|
+
**Problem**: VS Code opens but cannot access WSL files
|
|
719
|
+
|
|
720
|
+
**Solution**: Launch VS Code from within the WSL terminal:
|
|
721
|
+
|
|
722
|
+
```bash
|
|
723
|
+
cd /home/user/project
|
|
724
|
+
code .
|
|
725
|
+
```
|
|
726
|
+
|
|
727
|
+
**Problem**: GUI does not display for native WSL installation
|
|
728
|
+
|
|
729
|
+
**Solution**: Ensure WSLg is enabled (Windows 11) or configure an X server (Windows 10). For Windows 11:
|
|
730
|
+
|
|
731
|
+
```powershell
|
|
732
|
+
wsl --update
|
|
733
|
+
```
|
|
734
|
+
|
|
735
|
+
**Problem**: Extensions do not work in WSL
|
|
736
|
+
|
|
737
|
+
**Solution**: Extensions must be installed separately in the WSL context. Open VS Code in WSL, go to Extensions, and click "Install in WSL: Ubuntu" for each extension.
|
|
738
|
+
|
|
739
|
+
---
|
|
740
|
+
|
|
741
|
+
### Git Bash (Windows Installation)
|
|
742
|
+
|
|
743
|
+
#### Prerequisites
|
|
744
|
+
|
|
745
|
+
- Windows 10 or Windows 11 (64-bit)
|
|
746
|
+
- Git Bash installed (comes with Git for Windows)
|
|
747
|
+
- VS Code installed on Windows (see Windows sections above)
|
|
748
|
+
|
|
749
|
+
**Note**: Git Bash on Windows does not require a separate VS Code installation. Git Bash inherits the Windows PATH, so once VS Code is installed on Windows, the `code` command is automatically available in Git Bash.
|
|
750
|
+
|
|
751
|
+
#### Installation Steps
|
|
752
|
+
|
|
753
|
+
1. Install VS Code on Windows using Chocolatey (recommended):
|
|
754
|
+
|
|
755
|
+
```powershell
|
|
756
|
+
# Run from Administrator PowerShell or Command Prompt
|
|
757
|
+
choco install vscode -y
|
|
758
|
+
```
|
|
759
|
+
|
|
760
|
+
2. Open Git Bash - the `code` command will be available
|
|
761
|
+
|
|
762
|
+
No additional configuration is typically required as Git Bash inherits the Windows PATH.
|
|
763
|
+
|
|
764
|
+
#### Verification
|
|
765
|
+
|
|
766
|
+
In Git Bash, confirm VS Code is accessible:
|
|
767
|
+
|
|
768
|
+
```bash
|
|
769
|
+
code --version
|
|
770
|
+
```
|
|
771
|
+
|
|
772
|
+
Expected output (version numbers may vary):
|
|
773
|
+
|
|
774
|
+
```
|
|
775
|
+
1.107.1
|
|
776
|
+
e54c774e0add60467559eb0d1e229c6452cf8447
|
|
777
|
+
x64
|
|
778
|
+
```
|
|
779
|
+
|
|
780
|
+
Open a project:
|
|
781
|
+
|
|
782
|
+
```bash
|
|
783
|
+
code .
|
|
784
|
+
```
|
|
785
|
+
|
|
786
|
+
#### Troubleshooting
|
|
787
|
+
|
|
788
|
+
**Problem**: `code: command not found` in Git Bash
|
|
789
|
+
|
|
790
|
+
**Solution**: VS Code may not be in PATH. Add it manually to your `~/.bashrc`:
|
|
791
|
+
|
|
792
|
+
```bash
|
|
793
|
+
echo 'export PATH="$PATH:/c/Users/$USER/AppData/Local/Programs/Microsoft VS Code/bin"' >> ~/.bashrc
|
|
794
|
+
source ~/.bashrc
|
|
795
|
+
```
|
|
796
|
+
|
|
797
|
+
If VS Code is installed system-wide:
|
|
798
|
+
|
|
799
|
+
```bash
|
|
800
|
+
echo 'export PATH="$PATH:/c/Program Files/Microsoft VS Code/bin"' >> ~/.bashrc
|
|
801
|
+
source ~/.bashrc
|
|
802
|
+
```
|
|
803
|
+
|
|
804
|
+
**Problem**: `the input device is not a TTY` when using integrated terminal features
|
|
805
|
+
|
|
806
|
+
**Solution**: Git Bash's mintty terminal has TTY compatibility issues. Use `winpty` prefix for interactive commands:
|
|
807
|
+
|
|
808
|
+
```bash
|
|
809
|
+
winpty code --wait
|
|
810
|
+
```
|
|
811
|
+
|
|
812
|
+
Or add an alias to your `~/.bashrc`:
|
|
813
|
+
|
|
814
|
+
```bash
|
|
815
|
+
echo 'alias code="winpty code"' >> ~/.bashrc
|
|
816
|
+
source ~/.bashrc
|
|
817
|
+
```
|
|
818
|
+
|
|
819
|
+
**Problem**: File paths not recognized correctly
|
|
820
|
+
|
|
821
|
+
**Solution**: Git Bash may convert Unix-style paths. Use Windows-style paths or escape forward slashes:
|
|
822
|
+
|
|
823
|
+
```bash
|
|
824
|
+
# Use Windows path
|
|
825
|
+
code "C:\Users\username\project"
|
|
826
|
+
|
|
827
|
+
# Or escape the path
|
|
828
|
+
code //c/Users/username/project
|
|
829
|
+
```
|
|
830
|
+
|
|
831
|
+
---
|
|
832
|
+
|
|
833
|
+
## Post-Installation Configuration
|
|
834
|
+
|
|
835
|
+
After installing VS Code on any platform, consider these recommended configurations.
|
|
836
|
+
|
|
837
|
+
### Installing Essential Extensions
|
|
838
|
+
|
|
839
|
+
Install commonly used extensions from the command line:
|
|
840
|
+
|
|
841
|
+
```bash
|
|
842
|
+
# Install essential extensions non-interactively
|
|
843
|
+
code --install-extension ms-vscode.vscode-typescript-next
|
|
844
|
+
code --install-extension esbenp.prettier-vscode
|
|
845
|
+
code --install-extension dbaeumer.vscode-eslint
|
|
846
|
+
code --install-extension eamodio.gitlens
|
|
847
|
+
```
|
|
848
|
+
|
|
849
|
+
### Configuring Settings Sync
|
|
850
|
+
|
|
851
|
+
VS Code can synchronize settings across devices using your Microsoft or GitHub account. Enable in VS Code:
|
|
852
|
+
|
|
853
|
+
1. Click the gear icon (Settings) in the bottom-left
|
|
854
|
+
2. Select "Turn on Settings Sync..."
|
|
855
|
+
3. Sign in with Microsoft or GitHub
|
|
856
|
+
|
|
857
|
+
### Setting Default Editor for Git
|
|
858
|
+
|
|
859
|
+
Configure VS Code as Git's default editor:
|
|
860
|
+
|
|
861
|
+
```bash
|
|
862
|
+
git config --global core.editor "code --wait"
|
|
863
|
+
```
|
|
864
|
+
|
|
865
|
+
Configure VS Code as the default diff and merge tool:
|
|
866
|
+
|
|
867
|
+
```bash
|
|
868
|
+
git config --global diff.tool vscode
|
|
869
|
+
git config --global difftool.vscode.cmd 'code --wait --diff $LOCAL $REMOTE'
|
|
870
|
+
git config --global merge.tool vscode
|
|
871
|
+
git config --global mergetool.vscode.cmd 'code --wait $MERGED'
|
|
872
|
+
```
|
|
873
|
+
|
|
874
|
+
### Enabling Auto-Update (Linux)
|
|
875
|
+
|
|
876
|
+
On Linux systems using APT or DNF, VS Code updates automatically through the system package manager. To update manually:
|
|
877
|
+
|
|
878
|
+
**APT (Ubuntu/Debian/Raspberry Pi):**
|
|
879
|
+
|
|
880
|
+
```bash
|
|
881
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get update -y
|
|
882
|
+
sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y code
|
|
883
|
+
```
|
|
884
|
+
|
|
885
|
+
**DNF (Amazon Linux/RHEL):**
|
|
886
|
+
|
|
887
|
+
```bash
|
|
888
|
+
sudo dnf upgrade -y code
|
|
889
|
+
```
|
|
890
|
+
|
|
891
|
+
---
|
|
892
|
+
|
|
893
|
+
## Common Issues
|
|
894
|
+
|
|
895
|
+
### Issue: VS Code Opens Blank or White Screen
|
|
896
|
+
|
|
897
|
+
**Symptoms**: VS Code window opens but shows blank content
|
|
898
|
+
|
|
899
|
+
**Solutions**:
|
|
900
|
+
|
|
901
|
+
Disable GPU acceleration:
|
|
902
|
+
|
|
903
|
+
```bash
|
|
904
|
+
code --disable-gpu
|
|
905
|
+
```
|
|
906
|
+
|
|
907
|
+
To make permanent, add to VS Code settings:
|
|
908
|
+
|
|
909
|
+
1. Open Command Palette (Ctrl+Shift+P or Cmd+Shift+P)
|
|
910
|
+
2. Search "Preferences: Configure Runtime Arguments"
|
|
911
|
+
3. Add: `"disable-hardware-acceleration": true`
|
|
912
|
+
|
|
913
|
+
### Issue: High CPU Usage
|
|
914
|
+
|
|
915
|
+
**Symptoms**: VS Code consumes excessive CPU, especially with TypeScript projects
|
|
916
|
+
|
|
917
|
+
**Solutions**:
|
|
918
|
+
|
|
919
|
+
Exclude large folders from file watching in settings.json:
|
|
920
|
+
|
|
921
|
+
```json
|
|
922
|
+
{
|
|
923
|
+
"files.watcherExclude": {
|
|
924
|
+
"**/node_modules/**": true,
|
|
925
|
+
"**/.git/**": true
|
|
926
|
+
}
|
|
927
|
+
}
|
|
928
|
+
```
|
|
929
|
+
|
|
930
|
+
### Issue: Extensions Not Loading
|
|
931
|
+
|
|
932
|
+
**Symptoms**: Extensions fail to activate or load
|
|
933
|
+
|
|
934
|
+
**Solutions**:
|
|
935
|
+
|
|
936
|
+
Clear the extension cache:
|
|
937
|
+
|
|
938
|
+
```bash
|
|
939
|
+
# Linux/macOS
|
|
940
|
+
rm -rf ~/.vscode/extensions
|
|
941
|
+
|
|
942
|
+
# Windows (PowerShell)
|
|
943
|
+
Remove-Item -Recurse -Force "$env:USERPROFILE\.vscode\extensions"
|
|
944
|
+
```
|
|
945
|
+
|
|
946
|
+
Reinstall extensions after clearing.
|
|
947
|
+
|
|
948
|
+
### Issue: Cannot Save Files (Permission Denied)
|
|
949
|
+
|
|
950
|
+
**Symptoms**: Error saving files in certain directories
|
|
951
|
+
|
|
952
|
+
**Solutions**:
|
|
953
|
+
|
|
954
|
+
Check file ownership and permissions:
|
|
955
|
+
|
|
956
|
+
```bash
|
|
957
|
+
ls -la filename
|
|
958
|
+
```
|
|
959
|
+
|
|
960
|
+
For system directories, consider using the "Save as Root" extension or fixing permissions:
|
|
961
|
+
|
|
962
|
+
```bash
|
|
963
|
+
sudo chown -R $USER:$USER /path/to/directory
|
|
964
|
+
```
|
|
965
|
+
|
|
966
|
+
### Issue: Integrated Terminal Not Working
|
|
967
|
+
|
|
968
|
+
**Symptoms**: Terminal fails to open or shows errors
|
|
969
|
+
|
|
970
|
+
**Solutions**:
|
|
971
|
+
|
|
972
|
+
Reset terminal settings:
|
|
973
|
+
|
|
974
|
+
1. Open settings.json
|
|
975
|
+
2. Remove any terminal-related customizations
|
|
976
|
+
3. Restart VS Code
|
|
977
|
+
|
|
978
|
+
Set default shell explicitly:
|
|
979
|
+
|
|
980
|
+
```json
|
|
981
|
+
{
|
|
982
|
+
"terminal.integrated.defaultProfile.linux": "bash",
|
|
983
|
+
"terminal.integrated.defaultProfile.osx": "zsh",
|
|
984
|
+
"terminal.integrated.defaultProfile.windows": "PowerShell"
|
|
985
|
+
}
|
|
986
|
+
```
|
|
987
|
+
|
|
988
|
+
---
|
|
989
|
+
|
|
990
|
+
## References
|
|
991
|
+
|
|
992
|
+
- [Visual Studio Code Official Website](https://code.visualstudio.com/)
|
|
993
|
+
- [VS Code Documentation](https://code.visualstudio.com/docs)
|
|
994
|
+
- [VS Code on macOS](https://code.visualstudio.com/docs/setup/mac)
|
|
995
|
+
- [VS Code on Linux](https://code.visualstudio.com/docs/setup/linux)
|
|
996
|
+
- [VS Code on Windows](https://code.visualstudio.com/docs/setup/windows)
|
|
997
|
+
- [VS Code on Raspberry Pi](https://code.visualstudio.com/docs/setup/raspberry-pi)
|
|
998
|
+
- [Homebrew Cask: visual-studio-code](https://formulae.brew.sh/cask/visual-studio-code)
|
|
999
|
+
- [Chocolatey Package: vscode](https://community.chocolatey.org/packages/vscode)
|
|
1000
|
+
- [Winget Package: Microsoft.VisualStudioCode](https://winget.run/pkg/Microsoft/VisualStudioCode)
|
|
1001
|
+
- [VS Code Remote Development](https://code.visualstudio.com/docs/remote/remote-overview)
|
|
1002
|
+
- [VS Code Release Notes](https://code.visualstudio.com/updates)
|