Visual studio code ssh remote настройка
Visual Studio Code – это популярная интегрированная среда разработки (IDE). Большой выбор плагинов, минималистичный дизайн и кроссплатформенная поддержка делают Visual Studio Code отличным выбором для разработчиков всех уровней. В этом мануале мы рассмотрим использование плагина Remote-SSH для удаленной разработки программного обеспечения. С помощью этого плагина можно редактировать файлы на локальной рабочей станции, а на удаленном сервере выполнять задачи разработки – запускать программы, модульные тесты или статический анализ.
Это может быть полезно по целому ряду причин. Предположим, у вас есть рабочая станция Windows, и вы хотите разрабатывать на Windows, но в конечном итоге ваш код будет работать на Linux. Кроме того, вам может потребоваться больше оперативной памяти или вычислительной мощности, чем имеется на текущем компьютере; или, к примеру, политика компании не позволяет включать код с персональных компьютеров разработчиков на свои рабочие станции.
В этом мануале мы подключим плагин Remote-SSH, настроим Visual Studio Code для выполнения кода на удаленном сервере и выполним на нем код из локальной установки.
Требования
- Локальная машина разработки на Windows, MacOSX или Linux (данный мануал был протестирован на ChromeOS).
- Платформа Visual Studio Code, которую можно загрузить и установить с официального сайта.
- Пара ключей SSH. Инструкции для macOS и Linux вы найдете в мануале Установка SSH-ключей в Ubuntu 18.04.
- Удаленный сервер Ubuntu 18.04, настроенный по этому мануалу.
1: Установка плагина Remote-SSH
В Extensions Marketplace можно скачать поддерживаемые и сторонние расширения для различных инструментов и языков программирования. Здесь нам нужно найти плагин Remote-SSH и установить его.
С левой стороны в интерфейсе IDE находится вертикальный ряд из пяти значков. Самый последний значок (четыре квадрата, один из которых расположен чуть выше остальных) отвечает за доступ к Extensions Marketplace.
Вы также можете получить доступ к этому разделу, нажав Ctrl+Shift+X. Когда вы откроете эту страницу, вы увидите список предлагаемых плагинов, которые можно установить.
Когда вы откроете Marketplace Extensions, введите Remote-SSH в строку поиска Search Extensions in Marketplace. Когда вы найдете этот плагин, выберите его, а затем нажмите зеленую кнопку Install, чтобы установить его.
Расширение будет установлено. Затем нужно настроить этот плагин, чтобы иметь возможность подключаться к удаленному серверу.
2: Настройка плагина Remote-SSH и подключение к серверу
Теперь, когда у вас установлен плагин, вы можете настроить его для подключения к серверу. Для этого вам понадобится следующая информация:
- IP-адрес сервера или имя хоста.
- Имя пользователя, с помощью которого вы подключитесь.
- Закрытый ключ для аутентификации пользователя.
Вы будете использовать эту информацию для создания конфигурационного файла SSH, с помощью которого Visual Studio Code будет подключаться к серверу по SSH, синхронизировать файлы и выполнятькод от вашего имени. Создать эту конфигурацию можно с помощью Visual Studio Code.
После установки Remote-SSH в левом нижнем углу интерфейса Visual Studio Code появится маленький зеленый прямоугольник. Если вы наведете указатель мыши на поле, всплывающее окно подскажет «Open a remote window». Найдите кнопку, которая выглядит как символы > и <, расположенные по диагонали друг от друга.
Нажмите эту кнопку, и вверху появится диалоговое окно. Выберите из списка Remote-SSH: Open Configuration File…
Следующее окно спросит вас, какой файл конфигурации вы хотите открыть. Если вы работаете в Windows, вы увидите два пути: один в вашем личном пользовательском каталоге и второй в месте установки SSH. Вы должны использовать файл в своем пользовательском каталоге при настройке сервера.
Выберите файл, и ваш редактор откроет файл config. Добавьте в него следующий код, чтобы определить соединение с вашим сервером (замените выделенные разделы данными о вашем сервере):
Вот как работает этот файл:
- Host: имя вашего хоста. Это поле позволяет использовать короткое имя или аббревиатуру вместо полного IP-адреса или имени хоста при подключении к серверу.
- HostName: фактическое имя хоста сервера, это либо IP-адрес, либо полный домен.
- User: пользователь, с помощью которого вы создадите подключение.
- IdentityFile: путь к вашему закрытому ключу SSH. В системах Mac и Linux он хранится в домашнем каталоге, в скрытом каталоге .ssh. Обычно он называется id_rsa. Если вы работаете в Windows, вы должны были указать место для сохранения этого файла, когда создавали его с помощью putty-gen.
Укажите соответствующие значения в файле и сохраните его.
Visual Studio Code настроен и готов подключиться к вашему серверу. Нажмите зеленую кнопку Open a remote window в нижнем левом углу и выберите Remote-SSH: Connect to Host…
После этого в выпадающем меню появятся все доступные и настроенные серверы. Выберите из этого списка сервер, к которому вы хотите подключиться.
Если вы впервые подключаетесь к этому серверу со своего компьютера, скорее всего, появится диалоговое окно и предложит вам проверить отпечаток ключа SSH.
Это помогает подключиться именно к тому серверу, который вам нужен. Чтобы узнать отпечаток ключа этого сервера, вы можете войти на сервер вручную и выполнить команду:
ssh-keygen -l -f /etc/ssh/ssh_host_key.pub
Если этот отпечаток совпадает с тем, который вы видите в диалоговом окне Visual Studio Code, то вы подключаетесь к правильному серверу. Можно нажать Continue.
При создании нового соединения Visual Studio Code по умолчанию открывает новое окно. Вы увидите окно приветствия. Ваше соединение успешно создано, если вы видите «SSH: your_ip_address_or_hostname» в зеленом поле в нижнем левом углу. Это означает, что Visual Studio Code подключен и взаимодействует с вашим удаленным сервером.
Теперь вы можете запускать команды и код из вашего редактора.
3: Выполнение кода на удаленном сервере
Плагин Remote-SSH настроен, подключение создано. Давайте попробуем запустить код на удаленной машине. Откройте окно терминала, выбрав Terminal в панели навигации в верхней части интерфейса Visual Studio и кликнув New Terminal. Вы также можете открыть терминал при помощи клавиш CTRL+Shift+`. Этот терминал откроется на вашем удаленном сервере, а не на локальном компьютере.
Когда терминал откроется, введите следующую команду, чтобы запросить IP-адрес и убедиться, что вы подключены к удаленному серверу:
Вы увидите следующий вывод в своем терминале:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 16:cb:05:5b:30:f1 brd ff:ff:ff:ff:ff:ff
inet your_server_ip brd your_broadcast_address scope global eth0
valid_lft forever preferred_lft forever
.
Чтобы убедиться, что вы можете запускать код удаленно, создайте новый файл Python по имени hello.py в вашем редакторе. После подключения к удаленному серверу все файлы, созданные с помощью Visual Studio Code, будут сохранены на удаленном сервере (не на вашем локальном компьютере).
Добавьте следующие строки в файл:
print("Hello 8host!")
Чтобы запустить эту программу на своем сервере, откройте терминал в Visual Studio Code из меню или с помощью клавиш CTRL+Shift+`. Этот сеанс терминала подключен к вашему удаленному серверу. Введите следующую команду, чтобы запустить вашу программу hello.py:
Вывод вашей программы будет отображаться в терминале.
Вы также можете запустить файл из контекстного меню Debug, выбрав при этом опцию Run without Debugging.
Заключение
Теперь ваша установка Visual Studio Code настроена для разработки на удаленном сервере по SSH. Удаленное выполнение кода с помощью IDE дает много преимуществ, включая возможность быстро протестировать код в разных операционных системах и с различными характеристиками оборудования. Если у вас есть подключение к Интернету, вы можете подключаться к своему серверу и работать над своим кодом с любого компьютера. Также это позволяет разрабатывать приложения для среды Linux, даже если в качестве основной операционной системы вы используете Windows.
Visual Studio Code можно использовать с пакетом SDK для Azure Sphere для создания и отладки кода на удаленном узле через Secure Shell (SSH). Поддерживаются два сценария:
Код на удаленном компьютере и устройстве на локальном компьютере.
Код и устройство на удаленном компьютере.
Третий сценарий — код на локальном компьютере и устройстве на удаленном компьютере — не поддерживается.
Настройка локального компьютера
установите расширение Azure Sphere, выполнив поиск Azure Sphere на панели расширений Visual Studio Code и нажав кнопку установить.
Существует два Azure Sphere расширения, которые устанавливают один из них: Azure Sphere пользовательский интерфейс для компонента пользовательского интерфейса и Azure Sphere для компонента рабочей области.
установите расширение remote-ssh, выполнив поиск по имени remote-ssh на панели расширений Visual Studio Code и нажав кнопку установить .
Настройка удаленного компьютера
- Настоятельно рекомендуется настроить удаленный компьютер для проверки подлинности на основе ключей.
- установите пакет SDK для Azure Sphere для Windows или Linux.
Код на удаленном компьютере и устройстве на локальном компьютере
- Подключение устройство на локальный компьютер и, если локальный компьютер работает под управлением Linux, запустите сценарий azsphere_connect. sh.
- Если на удаленном компьютере еще нет проекта, можно клонировать репозиторий образцов или получить один проект из браузера примеров Майкрософт.
- откройте Visual Studio Code локально.
- только в первый раз: откройте Visual Studio Code из > палитры команд > Remote-SSH: добавить новый узел ssh и введите сведения об узле ssh в ответ на запрос. (По умолчанию файл с именем config записывается в каталог. SSH в домашнем каталоге. Это иногда приводит к проблемам с разрешениями, если локальный компьютер Windows. возможно, потребуется переместить файл в другой каталог и указать абсолютный путь в файле > Preferences > Параметры > extensions > Remote-SSH: Config file.)
Подключение на удаленный компьютер
Подключение на удаленный компьютер, выполнив команду Visual Studio Code командная > палитра команды View > remote-SSH: Подключение на узел ( Shift+Ctrl+P ).
установите расширения Azure Sphere на удаленный компьютер, выполнив поиск Azure Sphere на панели Visual Studio Code расширение и нажав кнопку установить в SSH: [удаленный имя] . после установки может потребоваться перезапустить Visual Studio Code и повторно подключиться к удаленному компьютеру.
Чтобы проверить, правильно ли установлено расширение на удаленном компьютере, очистите поле поиска на панели расширений и убедитесь, что Azure Sphere расширения отображаются в представлении SSH: [удаленное имя] — установлено .
Откройте папку проекта или рабочую область, используя > папку открытия файлов или > откройте рабочую область открытие файла.
Сборка, развертывание на локальном устройстве и отладка
Нажмите клавишу F5 для сборки и отладки проекта. если проект не был создан ранее или если файлы были изменены и требуется перестроение, Visual Studio Code будет строить проект перед началом отладки.
подождите несколько секунд, пока Visual Studio Code создаст приложение, создайте пакет образа, разверните его на доске и запустите в режиме отладки. На панели вывода отобразятся обновления состояния.
Сначала CMak определяет, требуется ли сборка приложения. Если да, фокус перемещается в окно вывода, в котором отображаются выходные данные из CMak/Build.
Затем на панели вывода отображается результат, когда пакет образа развертывается на устройстве. Наконец, консоль отладки получает фокус и отображает выходные данные отладчика.
используйте отладчик Visual Studio Code , чтобы задать точки останова, приостановить, перейти к шагу, выполнить шаг с заходом, перезапустить или остановить приложение.
Код и устройство на удаленном компьютере
- Подключение устройство через USB к удаленному компьютеру и, если удаленный компьютер работает под управлением Linux, запустите сценарий azsphere_connect. sh.
- Если на удаленном компьютере еще нет проекта, можно клонировать репозиторий образцов или получить один проект из браузера примеров Майкрософт.
- откройте Visual Studio Code локально.
- только в первый раз: откройте Visual Studio Code из > палитры команд > Remote-SSH: добавить новый узел ssh и введите сведения об узле ssh в ответ на запрос. (По умолчанию файл с именем config записывается в каталог. SSH в домашнем каталоге. Это иногда приводит к проблемам с разрешениями, если локальный компьютер Windows. возможно, потребуется переместить файл в другой каталог и указать абсолютный путь в файле > Preferences > Параметры > extensions > Remote-SSH: Config file.)
Подключение на удаленный компьютер и настроить параметры удаленного компьютера
Подключение на удаленный компьютер, выполнив команду VS Code командная > палитра команды View > remote-SSH: Подключение на узел ( Shift+Ctrl+P ).
добавьте удаленные параметры, выполнив команду VS Code представление команд > палитра команды > : открыть удаленный Параметры и добавить в объект JSON следующее поле (если это пустой файл, его необходимо заключить в оболочку <> ):
Этот параметр можно добавить в параметры пользователя или рабочей области, в зависимости от настроек проектов и команды.
установите расширения Azure Sphere на удаленный компьютер, выполнив поиск Azure Sphere на панели Visual Studio Code расширение и нажав кнопку установить в SSH: [удаленный имя] . после установки может потребоваться перезапустить Visual Studio Code и повторно подключиться к удаленному компьютеру.
Чтобы проверить, правильно ли установлено расширение на удаленном компьютере, очистите поле поиска на панели расширений и убедитесь, что Azure Sphere расширения отображаются в представлении SSH: [удаленное имя] — установлено .
Откройте папку проекта или рабочую область, используя > папку открытия файлов или файл > открыть рабочую область.
Сборка, развертывание на удаленном устройстве и отладка
Нажмите клавишу F5 для сборки и отладки проекта. если проект не был создан ранее или если файлы были изменены и требуется перестроение, Visual Studio Code будет строить проект перед началом отладки.
подождите несколько секунд, пока Visual Studio Code создаст приложение, создайте пакет образа, разверните его на доске и запустите в режиме отладки. На панели вывода отобразятся обновления состояния.
Сначала CMak определяет, требуется ли сборка приложения. Если да, фокус перемещается в окно вывода, в котором отображаются выходные данные из CMak/Build.
Затем на панели вывода отображается результат, когда пакет образа развертывается на устройстве. Наконец, консоль отладки получает фокус и отображает выходные данные отладчика.
используйте отладчик Visual Studio Code , чтобы задать точки останова, приостановить, перейти к шагу, выполнить шаг с заходом, перезапустить или остановить приложение.
Закрытие подключения
Чтобы завершить сеанс удаленной отладки, выберите файл > закрыть удаленное подключение.
Visual Studio Code - редактор исходного кода, имеющий широкие возможности для кастомизации. В том числе редактор поддерживает установку готовых расширений для удалённой разработки. Например, расширение Remote SSH позволяет получить удаленный доступ к серверу с помощью протокола SSH.
Включение SSH
Для удаленного подключения через VS Code необходимо включить возможность использовать SSH (подробнее о данном протоколе здесь). По умолчанию на всех тарифах нашего хостинга доступ по протоколу SSH выключен.
Чтобы включить доступ по SSH, потребуется нажать на кнопку включения доступа в Панели Управления аккаунтом. Она располагается на главной странице в разделе "Тех. информация".
Настройка подключения
Для удаленной разработки VS Code копирует свою бинарную часть, vscode-server, на удаленный сервер и запускает его, после чего клиент обменивается информацией с сервером. Для работы бинарной части требуется проксировать подключение в docker.
Первым шагом нужно прокинуть публичный ssh-ключ на сервере. Для начала проверьте, нет ли уже созданных ключей. Выполнить это можно прямо из Панели управления хостингом, через web-терминал:
Если файлы с названием id_rsa* отсутствуют, сгенерируйте ключ:
Добавьте публичный ключ в доверенные, чтобы подключение по localhost не требовало пароль при каждой попытке подключения.
Установка и настройка VS Code
Также потребуется скачать и установить расширение Remote SSH. Вы можете найти Remote SSH во вкладке «Расширения» (Ctrl+Shift+X):
После установки расширения вы увидите индикатор в нижнем левом углу строки состояния. Этот индикатор сообщает вам, в каком контексте выполняется VS Code (локальном или удаленном). Щелкните индикатор, чтобы открыть список команд удаленного расширения:
Для подключения к серверу сформируйте конфигурационный файл. Для этого выберите "Open Сonfiguration file" - ". /.ssh/config".
Добавьте и сохраните в файле конфигурации параметры для подключения. Пример конфигурации:
"Host" может быть любым именем. В параметрах "User", "ProxyJump", "ProxyCommand" укажите ваши данные соответственно.
Подключение к серверу
После создания файла конфигурации по индикатору откройте список команд удаленного расширения. Выберите вариант подключения: в текущем окне или в дополнительном.
Из списка выберите добавленный вами Host:
При первом подключении подтвердите все указанные действия:
Поздравляю, вы успешно подключились по SSH через VS Code:
В этой статье мы разберемся, как настроить удаленную разработку в VS Code через плагин remote-ssh.
Все последующие действия провожу в операционной системе семейства linux (linux mint 20.1), если вы собираетесь настраивать Remote-SSH в Windows 10, то рекомендуется предварительно настроить WSL, об этом процессе можно прочитать, перейдя по ссылке.
Установка Remote-SSH в редактор VSCode
Перейдите в Расширение и в поиске найдите пакет Remote SSH , разработчиком которого указана компания Microsoft. Нажмите на кнопку «Установить», чтобы установить пакет.
Также автоматически будут установлены дополнительные пакеты.
Настройка SSH-соединения в редакторе VSCode
Есть два способа настроить подключение по SSH.
- Аутентификация с вводом пароля.
- Аутентификация через SSH ключи.
Рекомендуется использовать аутентификацию на основе ключей SSH, поскольку она более безопасна и уменьшает время, связанное с постоянным вводом паролей. Нажмите F1 или CTRL + SHIFT + P и введите remote-ssh . Он покажет список доступных команд. Выберите Add New SSH Host .
Теперь вам нужно ввести строку состоящую из команды подключения к ssh соединению, точно также как происходит процесс подключения к ssh серверу через консоль.
На следующем шаге вам будет предложено указать расположение файла конфигурации, в котором вы хотите сохранить информацию о подключении. выберите место, которое вам подходит, и нажмите Enter .
Рекомендуется создать собственный файл конфигурации, выбрав «Настройки» и указав расположение своего файла. Вы также можете добавить параметр remote.SSH.configFile в файл settings.json и обновить расположение пользовательской конфигурации.
Ниже приведены параметры, сохраненные в файле конфигурации как часть предыдущих шагов. Вы можете сразу же настроить этот файл, а не делать это через vscode.
Вот как работает этот файл конфигурации:
- Host: указывает имя вашего хоста. Это позволяет использовать короткое имя или аббревиатуру вместо полного IP-адреса либо имя хоста при подключении к серверу.
- HostName: фактическое имя хоста сервера, которое представляет собой либо IP-адрес, либо полностью квалифицированное доменное имя.
- User: пользователь, от имени которого вы хотите выполнить подключение.
- IdentityFile: путь к вашему закрытому ключу SSH. На системах Mac и Linux вы найдете ее в домашнем каталоге в скрытом каталоге .ssh , обычно id_rsa . Если вы используете Windows, у вас будет указано местоположение для сохранения этого файла при его создании с помощью putty-gen .
Подключитесь к удаленному серверу SSH с помощью ввода пароля в VSCode
Теперь давайте подключимся к удаленному хосту, нажав F1 или CTRL + SHIFT + P -> REMOTE-SSH -> CONNECT TO HOST -> CHOOSE HOST IP .
Теперь вам будет предложено проверить fingerprint, поскольку это первое подключение к удаленному компьютеру.
После того, как вы нажмете Continue , вам будет предложено ввести пароль. После ввода пароля он успешно подключится к удаленной машине SSH.
Подключитесь к удаленному серверу SSH с помощью ключа авторизации в VSCode
Для активации SSH key-based authentication, сгенерируйте пару публичного и приватного ssh ключей с помощью следующей команды.
И скопируйте публичный ключ на удаленный сервер с помощью следующей команды (заменив username@host на своё значение)
Теперь войдите на хост вручную, чтобы проверить, нормально ли работает аутентификация на основе ключей. Затем, откройте файл конфигурации SSH в VScode и добавьте параметр ниже. Этот параметр направляет на ваш файл с секретным ключом и указывает vscode использовать аутентификацию на основе ключей вместо аутентификации на основе пароля.
Еще раз подключитесь к вашему хосту, выполнив ту же процедуру, что и на предыдущих шагах. На этот раз вам не будет предложено ввести пароль. Если у вас возникли проблемы с установкой удаленного подключения, вы можете проверить логи.
Чтобы открыть логи, нажмите F1 или CTRL + SHIFT + P –> REMOTE-SSH –> Show Log .
Чтобы закрыть активное соединение, выберите close remote connection , нажав F1 или CTRL + SHIFT + P -> REMOTE-SSH -> Close Remote Connection , или просто закройте vscode, который отключит сеанс.
ProxyCommand
Иногда вам может потребоваться подключиться с вашего настольного компьютера или ноутбука к удаленному компьютеру через интранет вашей компании или за брандмауэром. В этом случае вы можете использовать промежуточный сервер или jump-box. Этот тип настройки полезен, если вы работаете в защищенной системе, которая настроена на прием SSH-соединений только от фиксированного набора хостов.
Чтобы использовать настройку jump-box с расширением Remote-SSH, вы можете использовать параметр конфигурации ProxyCommand . Эта конфигурация откроет фоновое SSH-соединение с jump-box, а затем подключится через частный IP-адрес к цели.
Вы можете установить параметр конфигурации ProxyCommand в файле конфигурации SSH следующим образом:
ControlMaster
Если вы подключаетесь к удаленному хосту SSH с использованием других методов аутентификации, кроме аутентификации на основе ключей, например двухфакторной, на основе пароля или ключа SSH с парольной фразой, вам может потребоваться вводить необходимую информацию несколько раз.
Вместо того, чтобы открывать несколько соединений SSH, вы можете использовать опцию ControlMaster (только на клиентах macOS/Linux), чтобы повторно использовать существующее соединение и сократить количество раз, когда вы должны вводить вашу фразу-пароль.
Чтобы использовать эту функцию, добавьте следующее в ваш конфигурационный файл SSH:
Автономный удаленный компьютер
В настоящее время это экспериментальная функция, но она будет включена по умолчанию в следующем выпуске.
Если вы ограничены брандмауэром или ваша компания блокирует ваши виртуальные машины, и они не могут подключиться к Интернету, расширение Remote-SSH не сможет подключиться к вашей виртуальной машине, поскольку VS Code должен загрузить компонент, называемый VS Code Server, на удаленную машину.
Однако теперь вы можете решить эту проблему с помощью нового пользовательского параметра в расширении Remote-SSH. Если вы включите параметр remote.SSH.allowLocalServerDownload , расширение сначала установит VS Code Server на клиент, а затем скопирует его на сервер через SCP.
Настройка Remote-SSH для подключения к хостингу BEGET
- Настроить авторизацию к докер контейнеру бегет без ввода пароля
- Добавить автоматический вход в докер контейнер при авторизации к ssh
Настройка авторизации к докер контейнеру бегет без ввода пароля
Подключаемся к ssh вашего хостинга бегет, затем вводим команду
Вводим пароль подключения и нажимаем enter.
Теперь проверим, что всё прошло успешно, пробуем подключится к докер контейнеру
Если подключение прошло без ввода пароля, значит всё работает.
Автоматический вход в докер контейнер beget при авторизации к ssh
Стоит заметить, что при включении данной функции может происходить ошибка при подключении к серверу через ftp клиент. Как решить данную проблему я не нашел, если у когото есть идеи, напишите мне, добавлю в статью.
Убеждаемся, что находимся в домашней директории (
). Редактируем файл .bashrc .
Добавляем в самый верх следующие строки
Пробуем подключиться через Remote-SSH.
Заключение
Подключившись к удаленному серверу можно изменять файлы не покидая окна редактора кода, а также запускать команды в терминале удаленного сервера не переключаясь к стороннему ssh приложению.
Теперь у вас есть Visual Studio Code, настроенный для разработки на удаленном сервере с помощью SSH. Удаленное исполнение при помощи IDE обеспечивает множество преимуществ, в том числе способность быстро тестировать процесс выполнения вашего кода на различных операционных системах и с различными техническими спецификациями оборудования. Если у вас есть подключение к Интернету, вы можете подключаться к вашему серверу и работать над вашим кодом с любого компьютера, а также можете заниматься разработкой в среде Linux, даже если будете использовать Windows в качестве основной операционной системы.
Читайте также:
- Программа автоаккомпаниатор для андроид
- Неверно что на языке программирования можно создать программу в среде visual studio ответ
- Определить включен ли в браузере прием cookies и выполнение javascript
- 1с документооборот ролевая задача приходит не на роль
- Outlook удалить без возможности восстановления