Page:
Настройка параметров VS Code после установки
Pages
Google Диск в Debian 12
XFCE настройка диалога выхода из системы
Настройка инфраструктуры локальной сети с выходом в интернет
Настройка параметров VS Code после установки
Настройка постоянного SSH туннеля в виде службы Windows
Настройки в Debian для доступа по XRDP в XFCE
Установка 1С Предприятия 7.7 в Debian 13
Clone
Настройка параметров VS Code после установки
1. Итоговый конфиг VS Code (~/.config/Code/User/settings.json)
{
// --- ПРОБЛЕМА С КЛАВИАТУРОЙ ---
// например, не работает обратный слеш на цифровой клавиатуре в xrdp
"keyboard.dispatch": "keyCode",
// --- НАВИГАЦИЯ (ОТКЛЮЧЕНО) ---
"workbench.editor.enablePreview": false, // Открытие файла только по дабл-клику
"workbench.editor.enablePreviewFromQuickOpen": false, // Выключает превью при поиске (Ctrl+P)
"list.openMode": "doubleClick", // Жестко задает дабл-клик для проводника
"explorer.compactFolders": false, // Запрещает сворачивать пустые папки в одну строку
"window.restoreWindows": "none", // Запрещает открывать последний проект или папку
"files.associations": "jsonc", // Разрешить комментарии в JSON
"explorer.autoReveal": false, // Запретить автоматическую синхронизацию открытого файла с его расположением в проводнике
"debug.console.collapseIdenticalLines": false, // Отключить сворачивание одинаковых строк в консоле отладки
// КАКОЙ ДОЛБАЁБ ВЫДУМЫВАЕТ ВСЮ ЭТУ ХУЙНЮ???
"explorer.fileNesting.enabled": true, // Еще одна фигня, которую приходится настраивать!
"explorer.fileNesting.expand": false, // Отвечает за группировку "связанных" файлов, как в Visual Studio
"workbench.editor.openPositioning": "last", // Открывать закладки файла в конце
// --- ШПИОНАЖ И ТЕЛЕМЕТРИЯ (ВЫРЕЗАНО) ---
"telemetry.telemetryLevel": "off", // Полный запрет на отправку данных в MS
"datLoss.telemetryLevel": "off",
"workbench.enableExperiments": false, // Запрет на скрытые тесты новых фич на тебе
"workbench.settings.enableNaturalLanguageSearch": false, // Поиск по настройкам без серверов MS
// --- ГИГИЕНА ПРОЕКТА (СКРЫВАЕМ МУСОР) ---
"files.exclude": {
"**/bin": true, // Скрыть скомпилированный мусор
"**/obj": true,
"**/TemplateEngineHost": true, // Скрыть артефакты Visual Studio
"**/.git": true // (Опционально) скрыть папку самого гита
},
"search.exclude": {
"**/bin": true, // Не искать по мусорным файлам
"**/obj": true
},
// --- GIT И АВТОМАТИЗАЦИЯ ---
"git.enabled": true,
"git.openRepositoryInParentFolders": "always", // Видеть репозиторий, даже если открыта вложенная папка
"security.workspace.trust.enabled": false // Убивает вопрос про "Доверяете ли вы авторам"
}
2. Горячие клавиши (~/.config/Code/User/keybindings.json)
Удобное сворачивание кода на цифровой блок:
- editor.foldAll - Свернуть всё (Fold All) - Shift + NumPad -
- editor.unfoldAll - Развернуть всё (Unfold All) - Shift + NumPad +
- editor.fold - Свернуть текущий блок - Ctrl - NumPad -
- editor.unfold - Развернуть текущий блок - Ctrl - NumPad
Управление закладками,
- bookmarks.toggle - Alt+F2 - установить/снять закладку. В Linux XFCE комбинация Alt+F2 используется, поэтому идем в Настройки -> Клавиатура и удаляем ее там.
[
// Отключить "Переход вперед
{
"key": "ctrl+alt+l",
"command": "-bookmarks.jumpToNext",
"when": "editorTextFocus"
},
// Включить F2
{
"key": "f2",
"command": "bookmarks.jumpToNext",
"when": "editorTextFocus"
},
// Отключить "Переход назад"
{
"key": "ctrl+alt+j",
"command": "-bookmarks.jumpToPrevious",
"when": "editorTextFocus"
},
// Включить Shift + F2
{
"key": "shift+f2",
"command": "bookmarks.jumpToPrevious",
"when": "editorTextFocus"
},
// Показать в панели проводника, очень полезная!
{
"key": "f4",
"command": "workbench.files.action.showActiveFileInExplorer",
"when": "editorTextFocus"
}
]
3. Настройки Git
Добавление имени пользователя и адреса электронной почты текущего пользователя:
git config --global user.name "user_name"
git config --global user.email "mail@example.com"
Для флага --global данные пишутся в файл ~/.gitconfig
[user]
name = user_name
email = mail@example.com
4. Сниппеты
Настройки сниппетов C# лежат тут ~/.config/Code/User/snippets/csharp.json
Свойство get/set + summary
{
"Свойство get/set + summary": {
"prefix": "pr",
"body": [
"/// <summary>",
"/// ${3:Описание ...}",
"/// </summary>",
"public ${1|string,Guid,bool,int,uint,long,ulong,decimal,DateTimeOffset,TimeSpan,DateOnly,TimeOnly|} $2 { get; set; }$0"
]
}
}
Документировани symmary
Встроенный сниппет добавляет к summary блок value (нахера???), поэтому используем свой
{
"Документировани symmary": {
"prefix": "summary",
"body": [
"/// <summary>",
"/// ${1:Описание ...}",
"/// </summary>"
]
}
}
Полное свойство с атрибутом Column
Принимает идентификатор snake_case, устанавливает атрибут [Column("<идентификатор>")], создает имя свойства в PascalCase
{
"Полное свойство с атрибутом Column": {
"prefix": "pp",
"body": [
"/// <summary>",
"/// ${4:Описание ...}",
"/// </summary>",
"[Column(\"$1\")]",
"public ${3|string,Guid,bool,int,uint,long,ulong,decimal,DateTimeOffset,TimeSpan,DateOnly,TimeOnly|} ${1/(_|^)([a-z0-9])|(_)/${2:/upcase}/g} { get; set; }$0"upcase}/g} { get; set; }$0"
]
}
}
Блок try/catch
{
"Блок try/catch": {
"prefix": "tr",
"body": [
"try",
"{",
"\tthrow new NotImplementedException();",
"}",
"catch (Exception ex)",
"{",
"\t$0throw;",
"}"
]
}
}
Блок throw new NotImplementedException()
{
"Блок throw new NotImplementedException()": {
"prefix": "thr",
"body": "throw new NotImplementedException();"
}
}