Move wiki to the main repo
10
README.md
@ -1,5 +1,11 @@
|
|||||||
## Полезные мануалы
|
## Полезные мануалы
|
||||||
|
|
||||||
Вся информация находится в Wiki данного репозитория.
|
|
||||||
|
|
||||||
[Manuals Wiki Home](../../../wiki/)
|
* [Установка GIT в windows](man/GIT-install-win.md)
|
||||||
|
* [Установка TortoiseGit](man/TortoiseGit.md)
|
||||||
|
* [Конфигурация GIT](man/GIT-config.md)
|
||||||
|
* [SSH авторизация по ключам](man/SSH-key-auth-win.md)
|
||||||
|
* [GIT в Bash](man/GIT-Bash.md)
|
||||||
|
* [VS Code](man/VS-Code.md)
|
||||||
|
* [Windows Terminal](man/Windows-Terminal.md)
|
||||||
|
* [WSL2](man/WSL.md)
|
||||||
|
15
man/GIT-Bash.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Git в Bash
|
||||||
|
|
||||||
|
Для работы с Git часто будет требоваться командная строка. Хотя тут может быть большое количество личных предпочтений (PowerShell, zsh, fish), но пожалуй самый распостраненный случай когда пользователь будет использовать Bash. Такая возможность есть и в Windows (Git-bash) и в Linux, а также в различных вариантах embedded Linux устройств.
|
||||||
|
|
||||||
|
Потому хочется так настроить Bash чтобы им было удобно пользоваться.
|
||||||
|
[В официальном репозитории Git](https://github.com/git/git/tree/master/contrib/completion) уже есть все необходимо для этого.
|
||||||
|
|
||||||
|
- git-completion.bash - позволяет по нажатию `<TAB>` делать автодополнение комманд Git.
|
||||||
|
- git-prompt.sh - позволяет отображать полезные подсказки в promt терминала.
|
||||||
|
|
||||||
|
Если кто-то захочет разобраться во всех тонкостях настройки Bash, то он это сделает по официальной документации, и ничто не сможет его остановить. Я же предложу простой путь. Просто скачать и установить мою конфигурацию.
|
||||||
|
|
||||||
|
Для этого скачиваем [архив конфигурации](../../../../raw/branch/main/home-config.zip) и распаковываем в домашнюю папку пользователя с заменой. Не забываем перелогиниться чтобы изменения вступили в силу.
|
||||||
|
|
||||||
|
Теперь Bash будет автоматически распознавать что вы находитесь внутри репозитория Git и делать подсказки по работе.
|
55
man/GIT-config.md
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
# Конфигурация GIT
|
||||||
|
|
||||||
|
Сразу же после установки лучше всего произвести первоначальную настройку Git.
|
||||||
|
|
||||||
|
Git имеет три файла конфигурации:
|
||||||
|
- системный (общий на всю систему, для всех пользователей) */etc/gitconfig*
|
||||||
|
- глобальный (для конкретного пользователя) *~/.gitconfig*
|
||||||
|
- локальный (для конкретного репозитория) *.git/config*
|
||||||
|
|
||||||
|
Соответственно для настроек *git config* используется с опциями:
|
||||||
|
- git config --system
|
||||||
|
- git cofnig --global
|
||||||
|
- git config (--local)
|
||||||
|
|
||||||
|
Можно редактировать файлы ручками, либо использовать встроенную утилиту *git config*. В общем виде формат вызова выглядит так:
|
||||||
|
|
||||||
|
```
|
||||||
|
git config секция.параметр значение
|
||||||
|
```
|
||||||
|
|
||||||
|
Делаем базовые настройки:
|
||||||
|
```
|
||||||
|
git config --global user.name "My name" # Имя пользователя по умолчанию для всех коммитов
|
||||||
|
git config --global user.email my@mail.com # Почта пользователя по умолчанию для всех коммитов
|
||||||
|
git config --global color.ui true # Включаем цветной вывод в командах git
|
||||||
|
git config --global core.quotepath off # Для правильного отображение русских имен файлов
|
||||||
|
```
|
||||||
|
|
||||||
|
Дополнительно можно настроить удобные элиасы для часто используемых команд.
|
||||||
|
|
||||||
|
---
|
||||||
|
Вот моя конфигурация ~/.gitconfig
|
||||||
|
```
|
||||||
|
[user]
|
||||||
|
name = ARNik
|
||||||
|
email = r.anikeev@gmail.com
|
||||||
|
[color]
|
||||||
|
ui = true
|
||||||
|
[core]
|
||||||
|
quotepath = off # отображение русских имен файлов
|
||||||
|
[alias]
|
||||||
|
ll = log --oneline --graph --decorate --all
|
||||||
|
st = status --short
|
||||||
|
co = checkout
|
||||||
|
br = branch
|
||||||
|
ct = commit
|
||||||
|
|
||||||
|
lg = log --graph --all\
|
||||||
|
--pretty=format:'%Cred%h%Creset -%C(auto)%d %Creset%s %Cgreen(%cr) %C(bold blue)<%an>%Creset'
|
||||||
|
```
|
||||||
|
---
|
||||||
|
Для изучения Git и в качестве справки хочу порекомендовать:
|
||||||
|
- [Git: курс](https://www.youtube.com/playlist?list=PLDyvV36pndZFHXjXuwA_NywNrVQO0aQqb)
|
||||||
|
- [Git: разное](https://www.youtube.com/playlist?list=PLDyvV36pndZEB7kWWocU4QSn-G78LoaEE)
|
||||||
|
|
106
man/GIT-install-win.md
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
# Установка GIT в windows.
|
||||||
|
|
||||||
|
Официальный сайт Git: https://git-scm.com/
|
||||||
|
|
||||||
|
Скачиваем и устанавливаем...
|
||||||
|
|
||||||
|
Путь установки оставим по умолчанию.
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install1.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Тут вопрос удобства. Если не знаем что выбрать, то можно оставить по умолчанию.
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install2.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Далее
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install3.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Git поддерживает несколько редакторов. Этот редактор будет появляться каждый раз когда у Git появятся к вам вопросы. Лучше конечно использовать консольный редактор, т.к. не всегда получится использовать GUI редактор из консоли.
|
||||||
|
|
||||||
|
Для начинающих хорошо подойдет "Nano"
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install4.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Раньше ветка по умолчанию называлась *master*. Теперь же Git стал толерантным и предлагает изменить ее на *main*. Я выбираю *main* просто потому что там на 2 буквы меньше чем в *master* :)
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install5.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Важная настройка!**
|
||||||
|
Выбираем средний пункт чтобы другой софт мог использовать Git тоже.
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install6.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Используем встроенный в Git OpenSSH.
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install7.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Оставляем по умолчанию.
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install8.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Git может автоматически менять окончания строк (Windows <-> Linux) при чекаутах и коммитах. Предпочитаю отключить эту опцию и не менять эти файлы. Если понадобится в будущем, то можно будет включить для определенных репозиториев.
|
||||||
|
|
||||||
|
Иначе могут быть странные поведения когда клонированный в виртуальную WSL машину репозиторий при просмотре через windows выклядит как измененный.
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install9.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Оставляем по умолчанию.
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install10.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Поведение команды pull по умолчанию. Поскольку pull это две команды в одной (fetch и merge), то существует риск получить нежелательные действия в локальной ветке типа merge или rebase. Предпочитаю такие вещи контролировать самостоятельно, потому отключаю все кроме простой "перемотки".
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install11.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Менеджер "секретов" для двухфакторной авторизации через https.
|
||||||
|
|
||||||
|
Не пользуюсь. Т.к. работаю через ssh.
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install12.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Оставляем по умолчанию.
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install13.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Экспериментальные фичи. Будем тестировать позже, когда доделают.
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install14.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Готово!
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/Git_Install15.png"></p>
|
||||||
|
|
||||||
|
Перезагружаемся.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
142
man/SSH-key-auth-win.md
Normal file
@ -0,0 +1,142 @@
|
|||||||
|
# SSH авторизация по ключам
|
||||||
|
|
||||||
|
В интернете можно найти множество иснтрукций о том как настроить *ssh авторизацию по ключам* для использования с репозиториями, удаленным администрированием, различными программами контроля версий и т.д.
|
||||||
|
Встречаются даже такие извращения как использование Putty агента в связке с Tortoise Git на основе Putty сессий. Варианты с генерацией ключа с помощью Putty, конвертирование из одного формата в другой и подсовывание в Tortoise Git я, изрядно измучившись, тоже выкинул. Даже на самом GitHub лежит мануал с использованием агента ключей.
|
||||||
|
|
||||||
|
Перелопатив кучу мануалов я решил что мне нужен универсальный способ. И похоже мне удалось такой найти.
|
||||||
|
|
||||||
|
Итак, мне нужно чтобы работало:
|
||||||
|
* из любых терминалов (cmd, PowerShell, Git-bash, Git-cmd)
|
||||||
|
* с любыми shell (cmd, sh, bash, zsh т.д.)
|
||||||
|
* c любыми встроенными в терминалы или shell утилитами (ssh, scp, sftp и т.д.)
|
||||||
|
* со всеми репозиториями (GitHub, GitLab, Gitea)
|
||||||
|
* с различными GUI (TortoiseGit, VSCode, Altium Designer и пр.)
|
||||||
|
* без использования агентов ключей (ssh-agent или Putty)
|
||||||
|
* одинаково настраивалось как в Windows, так и в Linux.
|
||||||
|
* на одну машину должен приходиться один ключ, чтобы не настраивать отдельно для каждой утилиты/приложения/IDE
|
||||||
|
* один ключ для работы с репозиториями и доступом к удаленным серверам
|
||||||
|
|
||||||
|
Как оказалось чтобы все это реализовать нужно было не гуглить мануалы, а читать **man ssh**.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Для работы с SSH в windows будем использовать OpenSSH. Ставить отдельно его не надо т.к. OpenSSH идет в комплекте с Git. Ставим его в первую очередь.
|
||||||
|
|
||||||
|
Если же Git уже установлен, то идем дальше...
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 1. Открываем терминал и создаем ключ нашей локальной системы.
|
||||||
|
|
||||||
|
```
|
||||||
|
$ ssh-keygen -t rsa
|
||||||
|
```
|
||||||
|
На все вопросы нажимаем "Enter", отказываясь от ключевой фразы.
|
||||||
|
|
||||||
|
Как результат в домашней папке пользователя будет создана ключевая пара:
|
||||||
|
- .ssh/id_rsa (закрытый ключ)
|
||||||
|
- .ssh/id_rsa.pub (открытый ключ)
|
||||||
|
|
||||||
|
Закрытый ключ мы не трогаем. Он секретный и остается только на этой машние.
|
||||||
|
Открытый ключ мы используем для помещения в репозитории и удаленные сервера.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### 2. Добавляем ключ в ~/.ssh/config
|
||||||
|
|
||||||
|
Поскольку мы не будем пользоваться никакими агентами ключей, то для пользования репозиториями, нужно прописать данный ключ в ~/.ssh/config в качестве ипользуемого по умолчанию глобально.
|
||||||
|
|
||||||
|
Если этого файла нет, то создаем его и добавляем в него строчку:
|
||||||
|
```
|
||||||
|
IdentityFile ~/.ssh/id_rsa
|
||||||
|
```
|
||||||
|
~/.ssh/config вообще очень полезный файл. Рекомендую почитать что он еще умеет. Например туда можно прописать хосты типа:
|
||||||
|
```
|
||||||
|
Host site
|
||||||
|
HostName www.my-site.dyndns.org
|
||||||
|
Port 2222
|
||||||
|
User user
|
||||||
|
```
|
||||||
|
Тогда вместо такого:
|
||||||
|
```
|
||||||
|
$ ssh user@www.my-site.dyndns.org -p 2222
|
||||||
|
```
|
||||||
|
Можно писать так:
|
||||||
|
```
|
||||||
|
$ ssh site
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
### 3. Добавляем ключ на удаленные сервера Linux
|
||||||
|
|
||||||
|
Если ключ нужен только для работы с репозиториями, то переходим к следующему пункту.
|
||||||
|
|
||||||
|
Если есть программа ssh-copy-id (в Linux и Git-bash она есть), прописываем публичный ключ на удаленный сервер.
|
||||||
|
```
|
||||||
|
$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@server_ip
|
||||||
|
```
|
||||||
|
Eсли ssh-copy-id нет, то можно сделать это вручную.
|
||||||
|
|
||||||
|
Вот последовательность действий:
|
||||||
|
- логинимся на удаленной машине
|
||||||
|
- добавляем свой ключ в файл authorized_keys
|
||||||
|
```
|
||||||
|
remote$ echo "содержимое файла открытого ключа" >> ~/.ssh/authorized_keys
|
||||||
|
```
|
||||||
|
- делаем правильные права (если файл только что был создан)
|
||||||
|
```
|
||||||
|
remote$ chmod 600 ~/.ssh/authorized_keys
|
||||||
|
```
|
||||||
|
- проверяем, что все работает, запускаем на локальном компьютере.
|
||||||
|
```
|
||||||
|
$ ssh user@server_ip
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
### 4. Добавляем ключ в репозитории
|
||||||
|
|
||||||
|
Для работы с репозиториями необходимо прописать туда публичный ключ.
|
||||||
|
Для этого копируем содержимое файла ~/.ssh/id_rsa.pub во все необходимые репозитории.
|
||||||
|
|
||||||
|
- GitHub: Settings -> SSH and GPG keys -> Nes SSH key
|
||||||
|
- GitLab: Preferences -> SSH Keys -> Add key
|
||||||
|
- Gitea: Settings -> SSH / GPG keys -> Add Key
|
||||||
|
|
||||||
|
В качестве имени ключа удобно указывать пользователя и имя машины.
|
||||||
|
|
||||||
|
**user@host**
|
||||||
|
|
||||||
|
Для тестирования авторизации можно запустить:
|
||||||
|
```
|
||||||
|
$ ssh -T git@github.com
|
||||||
|
```
|
||||||
|
Аналогично и для других репозиториев:
|
||||||
|
```
|
||||||
|
$ ssh -T git@repo_url
|
||||||
|
```
|
||||||
|
Что проверяю я:
|
||||||
|
```
|
||||||
|
$ ssh -T git@github.com
|
||||||
|
$ ssh -T git@git.fwdrd.ru
|
||||||
|
$ ssh -T git@gitlab.srv.mf-t.ru -p 2222
|
||||||
|
```
|
||||||
|
---
|
||||||
|
### 5. Настройка TortoiseGit
|
||||||
|
Чтобы TortiseGit переключился на использование OpenSSH надо в настройках
|
||||||
|
```
|
||||||
|
Settings -> Network -> SSH client
|
||||||
|
```
|
||||||
|
поменять клиент на
|
||||||
|
```
|
||||||
|
C:\Program Files\Git\usr\bin\ssh.exe
|
||||||
|
```
|
||||||
|
---
|
||||||
|
### PS (Linux)
|
||||||
|
|
||||||
|
Если все настроено но все равно спрашивает пароль, то надо проверить права:
|
||||||
|
```
|
||||||
|
chmod 755 ~
|
||||||
|
chmod 700 ~/.ssh
|
||||||
|
chmod 600 ~/.ssh/*
|
||||||
|
```
|
||||||
|
Удачной работы!
|
107
man/TortoiseGit.md
Normal file
@ -0,0 +1,107 @@
|
|||||||
|
# Установка TortoiseGIT в windows.
|
||||||
|
|
||||||
|
Перед тем как устанавливать TortoiseGit надо [установить Git for windows](GIT-install-win).
|
||||||
|
|
||||||
|
Скачиваем с официального сайта: https://tortoisegit.org/download/
|
||||||
|
|
||||||
|
Запускаем установку.
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/TortoiseGit_install_01.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Далее.
|
||||||
|
<p align="center"> <img src="images/TortoiseGit_install_02.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Проверяем что будут установлены все компоненты.
|
||||||
|
<p align="center"> <img src="images/TortoiseGit_install_03.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Запускаем процесс установки.
|
||||||
|
<p align="center"> <img src="images/TortoiseGit_install_04.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/TortoiseGit_install_05.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Убираем галочку "Мастера настроек". Все настройки будем делать явным образом в Git и в TortoiseGit. Завершаем установку.
|
||||||
|
<p align="center"> <img src="images/TortoiseGit_install_06.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
После установки TortoiseGit соответствующие пункты появятся в контекстном меню проводника. Открываем настройки.
|
||||||
|
<p align="center"> <img src="images/TortoiseGit_install_07.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
В настройках "Context Menu" рекомендую дополнительно включить:
|
||||||
|
- Diff
|
||||||
|
- Show log
|
||||||
|
- Revert
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/TortoiseGit_install_08.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Чтобы значки отображались на сетевых и других дисках необходимо включить соответствующие галочики в:
|
||||||
|
```
|
||||||
|
Settings -> Icon Overlays
|
||||||
|
```
|
||||||
|
<p align="center"> <img src="images/TortoiseGit_install_09.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Меняем набор иконок на "Illustration"
|
||||||
|
(самый красивый)
|
||||||
|
```
|
||||||
|
Settings -> Icon Overlays -> Icon Set
|
||||||
|
```
|
||||||
|
<p align="center"> <img src="images/TortoiseGit_install_10.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Чтобы TortiseGit переключился на использование OpenSSH надо в настройках
|
||||||
|
```
|
||||||
|
Settings -> Network -> SSH client
|
||||||
|
```
|
||||||
|
поменять клиент на
|
||||||
|
```
|
||||||
|
C:\Program Files\Git\usr\bin\ssh.exe
|
||||||
|
```
|
||||||
|
<p align="center"> <img src="images/TortoiseGit_install_11.png"></p>
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
Для того чтобы удобно просматривать изменения рекомендую установить [WinMerge](https://winmerge.org/).
|
||||||
|
|
||||||
|
После установки чтобы TortoiseGit использовал WinMerge по умолчанию необходимо указать его в настройках.
|
||||||
|
|
||||||
|
```
|
||||||
|
Settings -> Diff Viewer
|
||||||
|
```
|
||||||
|
|
||||||
|
переключаем на External и вводим путь к установленному WinMerge c ключами:
|
||||||
|
|
||||||
|
```
|
||||||
|
C:\Program Files (x86)\WinMerge\WinMergeU.exe -e -ub -dl %bname -dr %yname %base %mine
|
||||||
|
```
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/TortoiseGit_install_12.png"></p>
|
||||||
|
|
||||||
|
```
|
||||||
|
Settings -> Diff Viewer -> Merge Tool
|
||||||
|
```
|
||||||
|
|
||||||
|
также переключаем на External и вводим путь к установленному WinMerge c ключами:
|
||||||
|
|
||||||
|
```
|
||||||
|
C:\Program Files (x86)\WinMerge\WinMergeU.exe /e /ub /fm /wl /wr /dl %tname /dm %bname /dr %yname %theirs %base %mine /o %merged
|
||||||
|
```
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/TortoiseGit_install_13.png"></p>
|
||||||
|
|
||||||
|
Не забываем перезагрузить компьютер чтобы все изменения вступили в силу.
|
61
man/VS-Code.md
Normal file
@ -0,0 +1,61 @@
|
|||||||
|
# Visual Studio Code
|
||||||
|
|
||||||
|
Очень популярный редактор для разработчиков. Достаточно простой с кучей дополнительных расширений которые можно установить из маркета.
|
||||||
|
|
||||||
|
В отличие от Eclipse быстрый, минималистичный и намного проще в настройке.
|
||||||
|
|
||||||
|
<p align="center"> <img src="images/vscode_demo.gif"></p>
|
||||||
|
<p align="center"> <img src="images/vscode_graph_demo.gif"></p>
|
||||||
|
<p align="center"> <img src="images/vscode_ssh_demo.gif"></p>
|
||||||
|
<p align="center"> <img src="images/vscode_wsl_demo.gif"></p>
|
||||||
|
|
||||||
|
Основные достоинства:
|
||||||
|
- Минималистичный
|
||||||
|
- Кроссплатформенный
|
||||||
|
- Отладка по SSH и в WSL
|
||||||
|
- Простой в настройке
|
||||||
|
- Встроенный Git
|
||||||
|
- Терминал
|
||||||
|
- поддерживает SWO и SEGGER RTT
|
||||||
|
|
||||||
|
## Установка
|
||||||
|
|
||||||
|
На [официальном сайте](https://code.visualstudio.com/Download) можно скачать различные версии для установки.
|
||||||
|
|
||||||
|
- User (только для одного пользователя)
|
||||||
|
- System (если пользователь Администратор)
|
||||||
|
|
||||||
|
Если при запуске инсталятора выскакивает похожее окно, то вы пытаетесь установить не ту версию.
|
||||||
|
<p align="center"> <img src="images/vscode1.png"></p>
|
||||||
|
|
||||||
|
Функционал VS Code можно значительно расширить используя дополнительные расширения из маркета.
|
||||||
|
|
||||||
|
Для нашего случая устанавливаем следующее:
|
||||||
|
- [C/C++](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
|
||||||
|
- [Better C++ Syntax](https://marketplace.visualstudio.com/items?itemName=jeff-hykin.better-cpp-syntax)
|
||||||
|
- [Git Graph](https://marketplace.visualstudio.com/items?itemName=mhutchie.git-graph)
|
||||||
|
- [Remote - SSH](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh)
|
||||||
|
- [Remote - SSH: Editing Configuration Files](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-ssh-edit)
|
||||||
|
- [Remote - WSL](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl)
|
||||||
|
- [Cortex-Debug](https://marketplace.visualstudio.com/items?itemName=marus25.cortex-debug) - поддержка отладки с различными программаторами
|
||||||
|
- [stm32-for-vscode](https://marketplace.visualstudio.com/items?itemName=bmd.stm32-for-vscode) - надстройка над Cotex-Debug для автоматизации установки Toolchain и корневого Make-файла
|
||||||
|
|
||||||
|
## Настройка
|
||||||
|
Чтобы открыть настройки нажимаем Ctrl+,
|
||||||
|
|
||||||
|
Полезные настройки:
|
||||||
|
- Files: Auto save - автоматическое сохранение файлов
|
||||||
|
- Window: Title - настройка заголовка окна. Удобно установить в `${rootName}${separator}${rootPath}`
|
||||||
|
- Editor: Render Whitespace - показать невидимые символы. Полезно для мейкфайлов.
|
||||||
|
|
||||||
|
## VS Code uninstall
|
||||||
|
|
||||||
|
Если нужно полностью удалить VS Code, то кроме обычного удаления через Uninstall, нужно также почистить следующие папки:
|
||||||
|
- `C:\Program Files\Microsoft VS Code`
|
||||||
|
- `%USERPROFILE%\.vscode`
|
||||||
|
- `%AppData%\Code`
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
58
man/WSL.md
Normal file
@ -0,0 +1,58 @@
|
|||||||
|
# Windows Subsystem for Linux
|
||||||
|
|
||||||
|
WSL позволяет запускать, разрабатывать и отлаживать Linux программы на Windows. Более того обеспечивается удобная прозрачность между файловыми системами и возможность запускать программы друг-друга.
|
||||||
|
|
||||||
|
Существует две реализации WSL:
|
||||||
|
- WSL1 - транслятор API Linux <-> Windows
|
||||||
|
- WSL2 - виртуальная машина с полноценным ядром Linux.
|
||||||
|
|
||||||
|
Мы будем пользоваться WSL2. По скорости работы WSL2 почти не уступает нативной OS Linux. Более подробные отличия можно посмотреть в интеренете.
|
||||||
|
|
||||||
|
Находим в поиске: Включение или отключение компонентов Windows
|
||||||
|
|
||||||
|
Включаем галочки:
|
||||||
|
- Подсистема Windows для Linux
|
||||||
|
- Платформа виртуальной машины
|
||||||
|
<p align="center"> <img src="images/WSL1.png"></p>
|
||||||
|
|
||||||
|
Перезагружаем.
|
||||||
|
|
||||||
|
В терминале включаем WSL2 по умолчанию для всех дистрибутивов.
|
||||||
|
```
|
||||||
|
wsl --set-default-version 2
|
||||||
|
```
|
||||||
|
|
||||||
|
Далее из Microsoft Store можно устанавливать дистрибутивы Ubuntu, Debian, и др.
|
||||||
|
|
||||||
|
# Конфигурация WSL
|
||||||
|
|
||||||
|
Установленные дистрибутивы можно запускать из профиля [Windows Terminal](Windows-Terminal) так:
|
||||||
|
```
|
||||||
|
wsl.exe -d <distroname>
|
||||||
|
```
|
||||||
|
Например:
|
||||||
|
```
|
||||||
|
wsl.exe -d Ubuntu-20.04
|
||||||
|
```
|
||||||
|
|
||||||
|
Если после настройки .bashrc будет ругаться на переменные locale
|
||||||
|
то надо сгенерировать локаль ru_RU.UTF-8:
|
||||||
|
```
|
||||||
|
sudo dpkg-reconfigure locales
|
||||||
|
```
|
||||||
|
|
||||||
|
# Работа
|
||||||
|
|
||||||
|
Чтобы получить доступ к файловой системе виртуальной машины
|
||||||
|
надо при запущенной машине зайти в сетевую папку:
|
||||||
|
```
|
||||||
|
\\wsl$
|
||||||
|
```
|
||||||
|
Либо запустить внутри виртуальной машины:
|
||||||
|
```
|
||||||
|
explorer.exe .
|
||||||
|
```
|
||||||
|
Если используете VS Code то его можно открыть в нужной папке виртуальной машины:
|
||||||
|
```
|
||||||
|
code .
|
||||||
|
```
|
17
man/Windows-Terminal.md
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# Windows Terminal
|
||||||
|
|
||||||
|
[](https://www.youtube.com/watch?v=8gw0rXPMMPE)
|
||||||
|
|
||||||
|
Я нешел этот терминал самым удобным для использования в windows т.к. он позволяет заменить все необходимые терминалы существующие в винде. Такие как:
|
||||||
|
* cmd
|
||||||
|
* PowerShell
|
||||||
|
* Git-bash
|
||||||
|
* WSL (виртуальные машины)
|
||||||
|
* Putty (для удаленного администрироваия через SSH)
|
||||||
|
|
||||||
|
Получается единый терминал для всего, с едиными шрифтами, внешним видом, настройками. Ну и в конце-концов он просто красивый :)
|
||||||
|
|
||||||
|
Установить можно через Microsoft Store или скачав с [GitHub](https://github.com/microsoft/terminal).
|
||||||
|
|
||||||
|
Вот так этот терминал выглядит у меня:
|
||||||
|

|
BIN
man/images/Git_Install1.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
man/images/Git_Install10.png
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
man/images/Git_Install11.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
man/images/Git_Install12.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
man/images/Git_Install13.png
Normal file
After Width: | Height: | Size: 18 KiB |
BIN
man/images/Git_Install14.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
man/images/Git_Install15.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
man/images/Git_Install2.png
Normal file
After Width: | Height: | Size: 21 KiB |
BIN
man/images/Git_Install3.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
man/images/Git_Install4.png
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
man/images/Git_Install5.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
man/images/Git_Install6.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
man/images/Git_Install7.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
man/images/Git_Install8.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
man/images/Git_Install9.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
man/images/MyWinTerm.png
Normal file
After Width: | Height: | Size: 436 KiB |
BIN
man/images/TortoiseGit_install_01.png
Normal file
After Width: | Height: | Size: 103 KiB |
BIN
man/images/TortoiseGit_install_02.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
man/images/TortoiseGit_install_03.png
Normal file
After Width: | Height: | Size: 40 KiB |
BIN
man/images/TortoiseGit_install_04.png
Normal file
After Width: | Height: | Size: 29 KiB |
BIN
man/images/TortoiseGit_install_05.png
Normal file
After Width: | Height: | Size: 33 KiB |
BIN
man/images/TortoiseGit_install_06.png
Normal file
After Width: | Height: | Size: 105 KiB |
BIN
man/images/TortoiseGit_install_07.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
man/images/TortoiseGit_install_08.png
Normal file
After Width: | Height: | Size: 56 KiB |
BIN
man/images/TortoiseGit_install_09.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
man/images/TortoiseGit_install_10.png
Normal file
After Width: | Height: | Size: 96 KiB |
BIN
man/images/TortoiseGit_install_11.png
Normal file
After Width: | Height: | Size: 44 KiB |
BIN
man/images/TortoiseGit_install_12.png
Normal file
After Width: | Height: | Size: 54 KiB |
BIN
man/images/TortoiseGit_install_13.png
Normal file
After Width: | Height: | Size: 53 KiB |
BIN
man/images/WSL1.png
Normal file
After Width: | Height: | Size: 27 KiB |
BIN
man/images/WinTermYoutube.png
Normal file
After Width: | Height: | Size: 47 KiB |
BIN
man/images/WinTermYoutubeBtn.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
man/images/YoutubeBtn.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
man/images/vscode1.png
Normal file
After Width: | Height: | Size: 6.9 KiB |
BIN
man/images/vscode2.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
man/images/vscode_demo.gif
Normal file
After Width: | Height: | Size: 438 KiB |
BIN
man/images/vscode_graph_demo.gif
Normal file
After Width: | Height: | Size: 930 KiB |
BIN
man/images/vscode_ssh_demo.gif
Normal file
After Width: | Height: | Size: 6.1 MiB |
BIN
man/images/vscode_wsl_demo.gif
Normal file
After Width: | Height: | Size: 2.2 MiB |