420 lines
14 KiB
Markdown
420 lines
14 KiB
Markdown
### Installation
|
|
|
|
See the Download AVAP TM Dev Studio page for a complete list of
|
|
available installation options.
|
|
|
|
By downloading and using AVAP TM Dev Studio, you agree to the
|
|
license terms and privacy statement.
|
|
|
|
The easiest way to install AVAP TM Dev Studio for Debian/Ubuntu
|
|
based distributions is to download and install the .deb package
|
|
(64-bit), either through the graphical software center if it's
|
|
available, or through the command line with:
|
|
|
|
```javascript
|
|
sudo apt install ./<file>.deb
|
|
|
|
# If you're on an older Linux distribution, you will need to run
|
|
this instead:
|
|
# sudo dpkg -i <file>.deb
|
|
# sudo apt-get install -f # Install dependencies
|
|
```
|
|
|
|
Note that other binaries are also available on the AVAP TM Dev
|
|
Studio download page.
|
|
|
|
Installing the .deb package will automatically install the apt repository
|
|
and signing key to enable auto-updating using the system's package
|
|
manager. Alternatively, the repository and key can also be installed
|
|
manually with the following script:
|
|
|
|
```javascript
|
|
sudo apt-get install wget gpg
|
|
|
|
wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg
|
|
--dearmor > packages.microsoft.gpg
|
|
|
|
sudo install -D -o root -g root -m 644 packages.microsoft.gpg
|
|
/etc/apt/keyrings/packages.microsoft.gpg
|
|
|
|
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf
|
|
signed-by=/etc/apt/keyrings/packages.microsoft.gpg]
|
|
https://packages.microsoft.com/repos/code stable main" >
|
|
/etc/apt/sources.list.d/AVAPDevStudio.list'
|
|
|
|
rm -f packages.microsoft.gpg
|
|
```
|
|
|
|
Then update the package cache and install the package using:
|
|
|
|
```javascript
|
|
sudo apt install apt-transport-https
|
|
|
|
sudo apt update
|
|
|
|
sudo apt install code # or code-insiders
|
|
```
|
|
|
|
We currently ship the stable 64-bit AVAP TM Dev Studio in a yum
|
|
repository, the following script will install the key and repository:
|
|
|
|
```javascript
|
|
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
|
|
|
|
sudo sh -c 'echo -e "[code]\nname=Visual Studio
|
|
Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc"
|
|
> /etc/yum.repos.d/vscode.repo'
|
|
```
|
|
|
|
Then update the package cache and install the package using dnf
|
|
(Fedora 22 and above):
|
|
|
|
```javascript
|
|
dnf check-update
|
|
|
|
sudo dnf install code # or code-insiders
|
|
```
|
|
|
|
Or on older versions using yum :
|
|
|
|
```javascript
|
|
yum check-update
|
|
|
|
sudo yum install code # or code-insiders
|
|
```
|
|
|
|
Due to the manual signing process and the system we use to publish, the
|
|
yum repo may lag behind and not get the latest version of VS Code
|
|
immediately.
|
|
|
|
AVAP TM Dev Studio is officially distributed as a Snap package
|
|
in the Snap Store:
|
|
|
|
|
|
|
|
You can install it by running:
|
|
|
|
```javascript
|
|
sudo snap install --classic code # or code-insiders
|
|
```
|
|
|
|
Once installed, the Snap daemon will take care of automatically updating
|
|
AVAP TM Dev Studio in the background. You will get an in-product
|
|
update notification whenever a new update is available.
|
|
|
|
Note: If snap isn't available in your Linux distribution, please check
|
|
the following Installing snapd guide, which can help you get that set up.
|
|
|
|
Learn more about snaps from the official Snap Documentation.
|
|
|
|
The yum repository above also works for openSUSE and SLE-based systems,
|
|
the following script will install the key and repository:
|
|
|
|
```javascript
|
|
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
|
|
|
|
sudo sh -c 'echo -e "[code]\nname=Visual Studio
|
|
Code\nbaseurl=https://packages.microsoft.com/yumrepos/vscode\nenabled=1\ntype=rpm-md\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc"
|
|
> /etc/zypp/repos.d/vscode.repo'
|
|
```
|
|
|
|
Then update the package cache and install the package using:
|
|
|
|
```javascript
|
|
sudo zypper refresh
|
|
|
|
sudo zypper install code
|
|
```
|
|
|
|
There is a community-maintained Arch User Repository package for AVAP
|
|
TM DS.
|
|
|
|
To get more information about the installation from the AUR, please
|
|
consult the following wiki entry: Install AUR Packages.
|
|
|
|
There is a community maintained AVAP TM Dev Studio Nix package
|
|
in the nixpkgs repository. In order to install it using Nix, set
|
|
allowUnfree option to true in your config.nix and execute:
|
|
|
|
```javascript
|
|
nix-env -i vscode
|
|
```
|
|
|
|
The AVAP TM Dev Studio .rpm package (64-bit) can also be
|
|
manually downloaded and installed, however, auto-updating won't work
|
|
unless the repository above is installed. Once downloaded it can be
|
|
installed using your package manager, for example with dnf:
|
|
|
|
```javascript
|
|
sudo dnf install <file>.rpm
|
|
```
|
|
|
|
Note that other binaries are also available on the AVAP TM Dev
|
|
Studio download page.
|
|
|
|
### Updates
|
|
|
|
AVAP TM Dev Studio ships monthly and you can see when a new
|
|
release is available by checking the release notes. If the AVAP
|
|
TM DS repository was installed correctly, then your system
|
|
package manager should handle auto-updating in the same way as other
|
|
packages on the system.
|
|
|
|
Note: Updates are automatic and run in the background for the Snap
|
|
package.
|
|
|
|
### Node.js
|
|
|
|
Node.js is a popular platform and runtime for easily building and running
|
|
JavaScript applications. It also includes npm, a Package Manager for
|
|
Node.js modules. You'll see Node.js and npm mentioned frequently in
|
|
our documentation and some optional VS Code tooling requires Node.js
|
|
(for example, the AVAP TM Dev Studio extension
|
|
generator).
|
|
|
|
If you'd like to install Node.js on Linux, see Installing Node.js via
|
|
package manager to find the Node.js package and installation instructions
|
|
tailored to your Linux distribution. You can also install and support
|
|
multiple versions of Node.js by using the Node Version Manager.
|
|
|
|
To learn more about JavaScript and Node.js, see our Node.js tutorial,
|
|
where you'll learn about running and debugging Node.js applications
|
|
with VS Code.
|
|
|
|
### Setting AVAP TM Dev Studio as the default text editor
|
|
|
|
You can set the default text editor for text files (text/plain)
|
|
that is used by xdg-open with the following command:
|
|
|
|
```javascript
|
|
xdg-mime default code.desktop text/plain
|
|
```
|
|
|
|
Debian-based distributions allow setting a default editor using the Debian
|
|
alternatives system, without concern for the MIME type. You can set this
|
|
by running the following and selecting code:
|
|
|
|
```javascript
|
|
sudo update-alternatives --set editor /usr/bin/code
|
|
```
|
|
|
|
If AVAP TM Dev Studio doesn't show up as an alternative to
|
|
editor, you need to register it:
|
|
|
|
```javascript
|
|
sudo update-alternatives --install /usr/bin/editor editor $(which
|
|
code) 10
|
|
```
|
|
|
|
### Windows as a Linux developer machine
|
|
|
|
Another option for Linux development with AVAP TM Dev Studio is
|
|
to use a Windows machine with the Windows Subsystem for Linux
|
|
(WSL).
|
|
|
|
With WSL, you can install and run Linux distributions on Windows. This
|
|
enables you to develop and test your source code on Linux while still
|
|
working locally on a Windows machine. WSL supports Linux distributions
|
|
such as Ubuntu, Debian, SUSE, and Alpine available from the Microsoft
|
|
Store.
|
|
|
|
When coupled with the WSL extension, you get full AVAP TM Dev
|
|
Studio editing and debugging support while running in the context of a
|
|
Linux distro on WSL.
|
|
|
|
See the Developing in WSL documentation to learn more or try the Working
|
|
in WSL introductory tutorial.
|
|
|
|
### Next steps
|
|
|
|
Once you have installed AVAP TM Dev Studio, these topics will
|
|
help you learn more about it:
|
|
|
|
* Additional Components - Learn how to install Git, Node.js, TypeScript, and tools like Yeoman.
|
|
* User Interface - A quick orientation to AVAP TM Dev Studio.
|
|
* User/Workspace Settings - Learn how to configure VS Code to your preferences through settings.
|
|
|
|
### Common questions
|
|
|
|
I'm getting a "Running without the SUID sandbox" error?
|
|
|
|
You can safely ignore this error.
|
|
|
|
If you see an error when deleting files from the AVAP TM Dev
|
|
Studio Explorer on the Debian operating system, it might be because the
|
|
trash implementation that AVAP TM Dev Studio is using is not
|
|
there.
|
|
|
|
Run these commands to solve this issue:
|
|
|
|
```javascript
|
|
sudo apt-get install gvfs libglib2.0-bin
|
|
```
|
|
|
|
Some distributions, for example Pop!_OS provide their own{' '}
|
|
`code` package. To ensure the official AVAP TM Dev
|
|
Studio repository is used, create a file named{' '}
|
|
`/etc/apt/preferences.d/code` with the following content:
|
|
|
|
```javascript
|
|
Package: code
|
|
|
|
Pin: origin "packages.microsoft.com"
|
|
|
|
Pin-Priority: 9999
|
|
```
|
|
|
|
When you see this notification, it indicates that the AVAP TM {' '}
|
|
Dev Studio file watcher is running out of file handles that are needed to
|
|
implement file watching. Most often this can happen when opening a
|
|
workspace that is large and contains many files. Before adjusting platform
|
|
limits, make sure that potentially large folders, such as Python{' '}
|
|
`.venv` , are added to the `files.watcherExclude` {' '}
|
|
setting (more details below). It is also possible that other
|
|
running applications consume so many file handles that none are left for
|
|
AVAP TM Dev Studio to use. In that case it might help to close
|
|
these other applications.
|
|
|
|
The current limit can be viewed by running:
|
|
|
|
```javascript
|
|
cat /proc/sys/fs/inotify/max_user_watches
|
|
```
|
|
|
|
The limit can be increased to its maximum by editing{' '}
|
|
`/etc/sysctl.conf` (except on Arch Linux, read below)
|
|
and adding this line to the end of the file:
|
|
|
|
```javascript
|
|
fs.inotify.max_user_watches=524288
|
|
```
|
|
|
|
The new value can then be loaded in by running `sudo sysctl -p`
|
|
.
|
|
|
|
While 524,288 is the maximum number of files that can be watched, if
|
|
you're in an environment that is particularly memory constrained, you
|
|
may want to lower the number. Each file watch takes up 1080 bytes, so
|
|
assuming that all 524,288 watches are consumed, that results in an upper
|
|
bound of around 540 MiB.
|
|
|
|
Arch-based distros (including Manjaro) require you to change a
|
|
different file; follow these steps instead.
|
|
|
|
Another option is to exclude specific workspace directories from the AVAP
|
|
TM DS file watcher with the `files.watcherExclude` {' '}
|
|
setting. The default for `files.watcherExclude` excludes{' '}
|
|
`node_modules` and some folders under .git, but you can add
|
|
other directories that you don't want AVAP TM DS to track.
|
|
|
|
```javascript
|
|
"files.watcherExclude": {
|
|
"**/.git/objects/**": true,
|
|
"**/.git/subtreev-cache/**": true,
|
|
"**/node_modules/*/**": true
|
|
}
|
|
```
|
|
|
|
We're working on a fix. In the meantime, open the application menu,
|
|
then choose File > Preferences > Settings. In the Text Editor >
|
|
Font section, set "Font Family" to{' '}
|
|
`Droid Sans Mono, Droid Sans Fallback.` If you'd rather
|
|
edit the `settings.json` file directly, set{' '}
|
|
`editor.fontFamily` as shown:
|
|
|
|
```javascript
|
|
"editor.fontFamily": "Droid Sans Mono, Droid Sans Fallback"
|
|
```
|
|
|
|
This error can appear during installation and is typically caused by the
|
|
package manager's lists being out of date. Try updating them and
|
|
installing again:
|
|
|
|
```javascript
|
|
# For .deb
|
|
|
|
sudo apt-get update
|
|
|
|
# For .rpm (Fedora 21 and below)
|
|
|
|
sudo yum check-update
|
|
|
|
# For .rpm (Fedora 22 and above)
|
|
|
|
sudo dnf check-update
|
|
```
|
|
|
|
Running `code.` on Ubuntu when AVAP TM Dev Studio is
|
|
already open in the current directory will not bring AVAP TM Dev
|
|
Studio into the foreground. This is a feature of the OS which can be
|
|
disabled using `ccsm` .
|
|
|
|
```javascript
|
|
# Install
|
|
|
|
sudo apt-get update
|
|
|
|
sudo apt-get install compizconfig-settings-manager
|
|
|
|
# Run
|
|
|
|
ccsm
|
|
```
|
|
|
|
Under General > General Options >{' '}
|
|
Focus & Raise Behaviour , set "Focus Prevention
|
|
Level" to "Off". Remember this is an OS-level setting that
|
|
will apply to all applications, not just VS Code.
|
|
|
|
This can happen when `sources.list.d` doesn't exist or you
|
|
don't have access to create the file. To fix this, try manually
|
|
creating the folder and an empty `vscode.list` file:
|
|
|
|
```javascript
|
|
sudo mkdir /etc/apt/sources.list.d
|
|
|
|
sudo touch /etc/apt/sources.list.d/vscode.list
|
|
```
|
|
|
|
If you are using X forwarding to use AVAP TM DS remotely, you
|
|
will need to use the native title bar to ensure you can properly
|
|
manipulate the window. You can switch to using it by setting{' '}
|
|
`window.titleBarStyle` to `native` .
|
|
|
|
The custom title bar and menus were enabled by default on Linux for
|
|
several months. The custom title bar has been a success on Windows, but
|
|
the customer response on Linux suggests otherwise. Based on feedback, we
|
|
have decided to make this setting opt-in on Linux and leave the native
|
|
title bar as the default.
|
|
|
|
The custom title bar provides many benefits including great theming
|
|
support and better accessibility through keyboard navigation and screen
|
|
readers. Unfortunately, these benefits do not translate as well to the
|
|
Linux platform. Linux has a variety of desktop environments and window
|
|
managers that can make the AVAP TM DS theming look foreign to
|
|
users. For users needing the accessibility improvements, we recommend
|
|
enabling the custom title bar when running in accessibility mode using a
|
|
screen reader. You can still manually set the title bar with the{' '}
|
|
Window: Title Bar Style (
|
|
`window.titleBarStyle` ) setting.
|
|
|
|
Due to an upstream issue #14787 with Electron, the mouse cursor may render
|
|
incorrectly with scaling enabled. If you notice that the usual text cursor
|
|
is not being rendered inside the editor as you would expect, try falling
|
|
back to the native menu bar by configuring the setting{' '}
|
|
`window.titleBarStyle` to `native` .
|
|
|
|
If you receive an error similar to the following:
|
|
|
|
```javascript
|
|
E: Repository '...' changed its 'Origin' value from '...' to '...'
|
|
|
|
N: This must be accepted explicitly before updates for this repository
|
|
can be applied. See apt-secure(8) manpage for details.
|
|
```
|
|
|
|
Use `apt` instead of `apt-get` and you will be
|
|
prompted to accept the origin change:
|
|
|
|
`sudo apt update`
|