Skip to content
Navigation Menu
Provide feedback
Saved searches
Use saved searches to filter your results more quickly
Sign up
Description
I suppose there’re technical reasons to make charset support only a closed set of encodings but current list falls pretty short. I’m specially missing encodings that are common in my area (Western Europe):
- ISO-8859-15 (Latin-9) — Latin-1’s fork with € symbol
- Windows-1252 — Default encoding in Windows computers sold here
Use cases:
- Ensure a legacy project doesn’t get messed by a modern «UTF-8 by default» IDE
- Encode helper scripts (*.bat) in native format
Other countries will probably miss other encodings.
If you need a list of encodings and aliases you can probably borrow it from the iconv project.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Содержание
- Editorconfig charset windows 1251 — установка правильной кодировки для Windows
- Что такое Editorconfig и зачем нужно использовать charset windows 1251?
- Editorconfig: определение и цель
- Преимущества использования charset windows 1251
- Как настроить Editorconfig для работы с charset windows 1251
- Примеры использования charset windows 1251 в Editorconfig
- Влияние charset windows 1251 на кодировку и отображение текста
- Преимущества использования charset windows 1251
- Заключение
Editorconfig charset windows 1251 — установка правильной кодировки для Windows
Если вы разработчик программного обеспечения, вероятно, вы сталкивались с проблемами, связанными с кодировками. Кодировки являются важной частью любого проекта, и неправильное обращение с ними может привести к неприятным последствиям, таким как некорректное отображение текста или ошибки в работе программы.
В этой статье мы рассмотрим роль и использование EditorConfig для кодировок и в особенности кодировки Windows-1251. EditorConfig — это файл конфигурации, который позволяет устанавливать и настраивать определенные правила для редактора кода, включая кодировку. С его помощью вы можете гарантировать, что каждый разработчик будет работать с нужной кодировкой и избежать проблем совместимости.
Итак, что же такое кодировка Windows-1251? Это стандартный набор символов, используемый в операционных системах Windows для представления текста на русском и других восточноевропейских языках. Он включает в себя все основные символы русского алфавита, а также дополнительные символы и знаки препинания.
Когда вы работаете с проектом, использующим кодировку Windows-1251, важно убедиться, что ваш редактор кода правильно настроен для работы с этой кодировкой. Разные редакторы могут по-разному интерпретировать символы и знаки препинания, и неправильная настройка может привести к искажению текста или даже к неработоспособности программы.
С использованием EditorConfig вы можете легко настроить ваш редактор кода для работы с кодировкой Windows-1251. Просто добавьте соответствующую настройку в файл .editorconfig вашего проекта, и EditorConfig автоматически применит ее при открытии файлов в редакторе.
Что такое Editorconfig и зачем нужно использовать charset windows 1251?
Charset windows 1251 является одной из кодировок, используемых для представления символов на русском языке. Эта кодировка широко распространена и поддерживается множеством программ, включая текстовые редакторы. Использование charset windows 1251 позволяет корректно отображать и редактировать текст на русском языке без искажений или ошибок.
Преимущества использования Editorconfig с charset windows 1251 включают:
- Согласованность кодирования: Editorconfig позволяет определить и поддерживать единый формат кодирования для всего проекта. Это значит, что все файлы будут сохраняться в кодировке windows 1251, что облегчает чтение и понимание кода для всех членов команды разработчиков.
- Минимизация ошибок: Использование единой кодировки упрощает работу с текстовыми файлами на русском языке и уменьшает возможность возникновения ошибок связанных с кодировками. Это особенно полезно при совместной работе с другими разработчиками, которые могут использовать разные кодировки.
- Удобство работы: Благодаря настройкам Editorconfig кодировка автоматически применяется к файлам при их открытии в текстовом редакторе. Это позволяет сэкономить время и избежать неудобств, связанных с ручной установкой нужной кодировки каждый раз при открытии файла.
Editorconfig: определение и цель
Основная цель использования файла Editorconfig — обеспечить единообразие и согласованность стиля кода в проекте, особенно когда в нем участвуют разные разработчики. Файл Editorconfig содержит набор опций, которые определяют правила форматирования для каждого типа файла. Эти опции могут включать такие параметры, как размер отступа, использование табуляции или пробелов, настройку отображения конечных символов строки, выбор кодировки и другие.
Преимущества использования Editorconfig в проекте:
- Единое форматирование кода: благодаря файлу Editorconfig все участники проекта будут использовать одни и те же правила форматирования, что делает код более читаемым и понятным для всех.
- Улучшенное сотрудничество: настройка файлов Editorconfig становится частью проекта и легко доступна для всех разработчиков, что позволяет им сосредоточиться на написании кода, а не на его форматировании.
- Гибкость настроек: Editorconfig позволяет определить правила форматирования для разных типов файлов и директорий, а также задать их исключения. Это дает возможность настроить форматирование кода по мере необходимости для каждого проекта.
В итоге, использование Editorconfig помогает сохранить единообразие стиля кодирования и повышает читаемость и понятность кода в проекте. Этот инструмент облегчает сотрудничество разработчиков и позволяет им сосредоточиться на самом программировании, вместо траты времени на форматирование кода.
Преимущества использования charset windows 1251
Это особенно важно для русского интернета, где большинство веб-сайтов и контента на русском языке использует именно эту кодировку. Использование charset windows 1251 позволяет улучшить восприятие и понимание контента для русскоязычных пользователей, создавая комфортную среду для чтения статей, блогов и другого текстового материала.
Другим преимуществом charset windows 1251 является его совместимость с различными программами и платформами. Это означает, что текст, записанный в этой кодировке, может быть правильно отображен на разных устройствах и программных платформах, включая веб-страницы, электронные письма, текстовые редакторы и многое другое.
- Простота использования и привычность — кодировка windows-1251 также широко используется в электронных письмах и других сферах, что делает ее привычной для большого числа пользователей.
- Поддержка специфических символов — charset windows 1251 позволяет отображать символы, которые не представлены в других кодировках.
- Совместимость — множество программ и платформ поддерживают charset windows 1251, что делает его удобным для использования в различных ситуациях.
В целом, использование charset windows 1251 обеспечивает надежную и эффективную кодировку для отображения русского текста в интернете, гарантируя правильное отображение символов и специальных символов, устраняя проблемы с отображением. Это делает его необходимым компонентом для создания и представления русскоязычного контента.
Как настроить Editorconfig для работы с charset windows 1251
EditorConfig – это файл конфигурации, который позволяет устанавливать стандартные настройки для редактора кода в проекте. Это позволяет разработчикам иметь единый стиль кодирования внутри всего проекта, а также облегчает совместную работу.
Для настройки EditorConfig для работы с кодировкой windows 1251 вам необходимо создать или открыть файл .editorconfig в корне вашего проекта. Пример содержимого файла .editorconfig, которые нужно указать для работы с кодировкой windows 1251:
- root = true
- charset = windows-1251
Указанные настройки позволяют установить кодировку windows 1251 для вашего проекта. Файл .editorconfig представляет собой простой текстовый файл, который может быть легко изменен или расширен с добавлением других настроек, таких как отступы или границы.
Важно отметить, что для работы с кодировкой windows 1251, ваш редактор кода также должен поддерживать эту кодировку. Убедитесь, что вы используете последнюю версию редактора и настроили его для работы с кодировкой windows 1251.
Примеры использования charset windows 1251 в Editorconfig
Использование charset windows 1251 в editorconfig позволяет корректно отображать и редактировать тексты на русском языке в редакторах, которые не поддерживают UTF-8 по умолчанию. Кодировка windows 1251 широко распространена в России и некоторых других странах, и поэтому ее поддержка в editorconfig является важной функцией.
При использовании charset windows 1251 в editorconfig необходимо учитывать, что редактор должен поддерживать эту кодировку. Если редактор не поддерживает указанную кодировку, то тексты на русском языке могут отображаться некорректно или содержать ошибки. Чтобы избежать проблем с кодировкой, рекомендуется использовать редакторы, которые полностью поддерживают charset windows 1251.
- Один из примеров использования charset windows 1251 в editorconfig:
root = true
[*]
charset = windows-1251
В этом примере мы указываем, что все файлы в проекте должны использовать кодировку windows 1251. Это позволяет работать с русским языком без проблем с кодировкой в редакторе или IDE, поддерживающем editorconfig.
Влияние charset windows 1251 на кодировку и отображение текста
Charset windows 1251 является одним из вариантов кодировки, разработанных для работы с русским языком. Он использует 8-битный формат и включает в себя широкий набор символов, необходимых для записи русского алфавита, а также специальные символы, пунктуацию и числа. Он включает в себя как прописные, так и строчные буквы.
Однако, стоит отметить, что charset windows 1251 имеет свои ограничения. Во-первых, он не поддерживает некоторые символы из других языков, таких как латиница или кириллица с акцентами. Во-вторых, при использовании этой кодировки может возникнуть проблема с отображением текста на разных платформах. Например, веб-браузер может не поддерживать эту кодировку, что может привести к неправильному отображению текста.
Преимущества использования charset windows 1251
- Простота использования. Charset windows 1251 легко вставляется в кодовую базу проекта и может быть использован без дополнительной настройки.
- Поддержка широкого набора символов. Эта кодировка включает в себя почти все символы, необходимые для записи русского языка.
- Совместимость с различными приложениями и операционными системами. Charset windows 1251 поддерживается многими текстовыми редакторами, веб-браузерами и операционными системами, что обеспечивает беспроблемную работу с текстом на русском языке.
В целом, charset windows 1251 является одним из наиболее распространенных и простых способов работы с русским текстом в веб-разработке. Однако, в современной практике кодировка UTF-8 становится все более популярной и рекомендуется для использования в новых проектах. Она поддерживает более широкий набор символов и решает проблему совместимости на разных платформах.
Заключение
Работа с Editorconfig и charset windows 1251 может быть столь же увлекательной, сколь и полезной. Соблюдение правил и рекомендаций при работе с этими инструментами позволяет значительно улучшить качество разработки веб-приложений на русском языке. Главное, чтобы кодировка windows 1251 была правильно настроена и совместима с используемыми текстовыми редакторами и IDE.
Перечислим несколько ключевых советов и рекомендаций:
- Используйте правильную кодировку: Убедитесь, что ваш проект использует кодировку windows 1251, чтобы корректно отображать русские символы.
- Настройте редактор: Проверьте настройки своего текстового редактора или IDE и убедитесь, что он поддерживает работу с кодировкой windows 1251.
- Применяйте Editorconfig: Создайте файл .editorconfig в корневой папке вашего проекта и определите в нем правила форматирования кода. Это поможет обеспечить единообразие и согласованность кода в различных редакторах.
- Соблюдайте стандарты написания кода: Используйте отступы, правильные отступы, имена переменных и функций, чтобы сделать ваш код более читаемым и понятным.
- Тестируйте и отлаживайте: После внесения изменений в код, протестируйте его и убедитесь, что он работает правильно с кодировкой windows 1251.
Использование Editorconfig и правильной кодировки windows 1251 поможет вам значительно упростить и ускорить разработку веб-приложений на русском языке. Это также поддерживает наилучшие практики и помогает создавать код высокого качества. Следуя приведенным советам и рекомендациям, вы можете обеспечить согласованность и эффективность своего рабочего процесса.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 |
[Flags] [TypeConverter(typeof (KeysConverter))] [Editor("System.Windows.Forms.Design.ShortcutKeysEditor, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a", typeof (UITypeEditor))] [ComVisible(true)] public enum Keys { /// <summary> /// Битовая маска для извлечения кода клавиши из значения ключа. /// </summary> KeyCode = 65535, // 0x0000FFFF /// <summary> /// Битовая маска для извлечения модификаторов из значения ключа. /// </summary> Modifiers = -65536, // -0x00010000 /// <summary>Нет нажатых клавиш.</summary> None = 0, /// <summary>Левой кнопки мыши.</summary> LButton = 1, /// <summary>Правой кнопкой мыши.</summary> RButton = 2, /// <summary>Клавиша "Отмена".</summary> Cancel = RButton | LButton, // 0x00000003 /// <summary>Средняя кнопка мыши (мыши).</summary> MButton = 4, /// <summary>Первая кнопка мыши (пяти кнопку мыши).</summary> XButton1 = MButton | LButton, // 0x00000005 /// <summary>Вторая кнопка мыши (пяти кнопку мыши).</summary> XButton2 = MButton | RButton, // 0x00000006 /// <summary>Клавиша BACKSPACE.</summary> Back = 8, /// <summary>Клавиша TAB.</summary> Tab = Back | LButton, // 0x00000009 /// <summary>Клавиша перевода строки.</summary> LineFeed = Back | RButton, // 0x0000000A /// <summary>Клавиша CLEAR.</summary> Clear = Back | MButton, // 0x0000000C /// <summary>Клавиша RETURN.</summary> Return = Clear | LButton, // 0x0000000D /// <summary>Клавиша ВВОД.</summary> Enter = Return, // 0x0000000D /// <summary>Клавиша SHIFT.</summary> ShiftKey = 16, // 0x00000010 /// <summary>Клавиша CTRL.</summary> ControlKey = ShiftKey | LButton, // 0x00000011 /// <summary>Клавиша ALT.</summary> Menu = ShiftKey | RButton, // 0x00000012 /// <summary>Клавиша PAUSE.</summary> Pause = Menu | LButton, // 0x00000013 /// <summary>Клавиша CAPS LOCK.</summary> Capital = ShiftKey | MButton, // 0x00000014 /// <summary>Клавиша CAPS LOCK.</summary> CapsLock = Capital, // 0x00000014 /// <summary>Клавиша режима "Кана" редактора метода ввода.</summary> KanaMode = CapsLock | LButton, // 0x00000015 /// <summary> /// Клавиша режима IME Hanguel. /// (поддерживается для совместимости; используйте <see langword="HangulMode" />) /// </summary> HanguelMode = KanaMode, // 0x00000015 /// <summary>Клавиша режима "Хангыль" редактора метода ввода.</summary> HangulMode = HanguelMode, // 0x00000015 /// <summary>Клавиша режима "Джунджа" редактора метода ввода.</summary> JunjaMode = HangulMode | RButton, // 0x00000017 /// <summary>Ключ, последний режим редактора метода ввода.</summary> FinalMode = ShiftKey | Back, // 0x00000018 /// <summary>Клавиша режима "Ханджа" редактора метода ввода.</summary> HanjaMode = FinalMode | LButton, // 0x00000019 /// <summary>Клавиша режима "Кандзи" редактора метода ввода.</summary> KanjiMode = HanjaMode, // 0x00000019 /// <summary>Клавиша ESC.</summary> Escape = KanjiMode | RButton, // 0x0000001B /// <summary>Клавиша преобразования IME.</summary> IMEConvert = FinalMode | MButton, // 0x0000001C /// <summary>Клавиша без преобразования IME.</summary> IMENonconvert = IMEConvert | LButton, // 0x0000001D /// <summary> /// Клавиша заменяет принятия IME <see cref="F:System.Windows.Forms.Keys.IMEAceept" />. /// </summary> IMEAccept = IMEConvert | RButton, // 0x0000001E /// <summary> /// Клавиша принятия IME. /// Является устаревшей, используйте <see cref="F:System.Windows.Forms.Keys.IMEAccept" /> вместо него. /// </summary> IMEAceept = IMEAccept, // 0x0000001E /// <summary>Клавиша изменение режима редактора метода ввода.</summary> IMEModeChange = IMEAceept | LButton, // 0x0000001F /// <summary>Клавиша ПРОБЕЛ.</summary> Space = 32, // 0x00000020 /// <summary>Клавиша PAGE UP.</summary> Prior = Space | LButton, // 0x00000021 /// <summary>Клавиша PAGE UP.</summary> PageUp = Prior, // 0x00000021 /// <summary>Клавиша PAGE DOWN.</summary> Next = Space | RButton, // 0x00000022 /// <summary>Клавиша PAGE DOWN.</summary> PageDown = Next, // 0x00000022 /// <summary>Клавиша END.</summary> End = PageDown | LButton, // 0x00000023 /// <summary>Клавиша HOME.</summary> Home = Space | MButton, // 0x00000024 /// <summary>Клавиша СТРЕЛКА ВЛЕВО.</summary> Left = Home | LButton, // 0x00000025 /// <summary>Клавиша СТРЕЛКА ВВЕРХ.</summary> Up = Home | RButton, // 0x00000026 /// <summary>Клавиша СТРЕЛКА ВПРАВО.</summary> Right = Up | LButton, // 0x00000027 /// <summary>Клавиша СТРЕЛКА ВНИЗ.</summary> Down = Space | Back, // 0x00000028 /// <summary>Клавиша SELECT.</summary> Select = Down | LButton, // 0x00000029 /// <summary>Клавиша PRINT.</summary> Print = Down | RButton, // 0x0000002A /// <summary>Клавиша EXECUTE.</summary> Execute = Print | LButton, // 0x0000002B /// <summary>Клавиша PRINT SCREEN.</summary> Snapshot = Down | MButton, // 0x0000002C /// <summary>Клавиша PRINT SCREEN.</summary> PrintScreen = Snapshot, // 0x0000002C /// <summary>Клавишу INS.</summary> Insert = PrintScreen | LButton, // 0x0000002D /// <summary>DEL ключ.</summary> Delete = PrintScreen | RButton, // 0x0000002E /// <summary>Клавиша HELP.</summary> Help = Delete | LButton, // 0x0000002F /// <summary>Клавиша 0.</summary> D0 = Space | ShiftKey, // 0x00000030 /// <summary>Клавиша 1.</summary> D1 = D0 | LButton, // 0x00000031 /// <summary>Клавиша 2.</summary> D2 = D0 | RButton, // 0x00000032 /// <summary>Клавиша 3.</summary> D3 = D2 | LButton, // 0x00000033 /// <summary>Клавиша 4.</summary> D4 = D0 | MButton, // 0x00000034 /// <summary>Клавиша 5.</summary> D5 = D4 | LButton, // 0x00000035 /// <summary>Клавиша 6.</summary> D6 = D4 | RButton, // 0x00000036 /// <summary>Клавиша 7.</summary> D7 = D6 | LButton, // 0x00000037 /// <summary>Клавиша 8.</summary> D8 = D0 | Back, // 0x00000038 /// <summary>Клавиша 9.</summary> D9 = D8 | LButton, // 0x00000039 /// <summary>Клавиша A.</summary> A = 65, // 0x00000041 /// <summary>Клавиша B.</summary> B = 66, // 0x00000042 /// <summary>Клавиша C.</summary> C = B | LButton, // 0x00000043 /// <summary>Клавиша D.</summary> D = 68, // 0x00000044 /// <summary>Клавиша E.</summary> E = D | LButton, // 0x00000045 /// <summary>Клавиша F.</summary> F = D | RButton, // 0x00000046 /// <summary>Клавиша G.</summary> G = F | LButton, // 0x00000047 /// <summary>Клавиша H.</summary> H = 72, // 0x00000048 /// <summary>Клавиша I.</summary> I = H | LButton, // 0x00000049 /// <summary>Клавиша J.</summary> J = H | RButton, // 0x0000004A /// <summary>Клавиша K.</summary> K = J | LButton, // 0x0000004B /// <summary>Клавиша L.</summary> L = H | MButton, // 0x0000004C /// <summary>Клавиша M.</summary> M = L | LButton, // 0x0000004D /// <summary>Клавиша N.</summary> N = L | RButton, // 0x0000004E /// <summary>Клавиша O.</summary> O = N | LButton, // 0x0000004F /// <summary>Клавиша P.</summary> P = 80, // 0x00000050 /// <summary>Клавиша Q.</summary> Q = P | LButton, // 0x00000051 /// <summary>Клавиша R.</summary> R = P | RButton, // 0x00000052 /// <summary>Клавиша S.</summary> S = R | LButton, // 0x00000053 /// <summary>Клавиша T.</summary> T = P | MButton, // 0x00000054 /// <summary>Клавиша U.</summary> U = T | LButton, // 0x00000055 /// <summary>Клавиша V.</summary> V = T | RButton, // 0x00000056 /// <summary>Клавиша W.</summary> W = V | LButton, // 0x00000057 /// <summary>Клавиша X.</summary> X = P | Back, // 0x00000058 /// <summary>Клавиша Y.</summary> Y = X | LButton, // 0x00000059 /// <summary>Клавиша Z.</summary> Z = X | RButton, // 0x0000005A /// <summary> /// Левая клавиша с логотипом Windows (клавиатура Microsoft Natural Keyboard). /// </summary> LWin = Z | LButton, // 0x0000005B /// <summary> /// Правая клавиша с логотипом Windows (клавиатура Microsoft Natural Keyboard). /// </summary> RWin = X | MButton, // 0x0000005C /// <summary> /// Клавиша приложения (клавиатура Microsoft Natural Keyboard). /// </summary> Apps = RWin | LButton, // 0x0000005D /// <summary>Ключ компьютера спящего режима.</summary> Sleep = Apps | RButton, // 0x0000005F /// <summary>Клавиша 0 на цифровой клавиатуре.</summary> NumPad0 = 96, // 0x00000060 /// <summary>Клавиша 1 на цифровой клавиатуре.</summary> NumPad1 = NumPad0 | LButton, // 0x00000061 /// <summary>Клавиша 2 на цифровой клавиатуре.</summary> NumPad2 = NumPad0 | RButton, // 0x00000062 /// <summary>Клавиша 3 на цифровой клавиатуре.</summary> NumPad3 = NumPad2 | LButton, // 0x00000063 /// <summary>Клавиша 4 на цифровой клавиатуре.</summary> NumPad4 = NumPad0 | MButton, // 0x00000064 /// <summary>Клавиша 5 на цифровой клавиатуре.</summary> NumPad5 = NumPad4 | LButton, // 0x00000065 /// <summary>Клавиша 6 на цифровой клавиатуре.</summary> NumPad6 = NumPad4 | RButton, // 0x00000066 /// <summary>Клавиша 7 на цифровой клавиатуре.</summary> NumPad7 = NumPad6 | LButton, // 0x00000067 /// <summary>Клавиша 8 на цифровой клавиатуре.</summary> NumPad8 = NumPad0 | Back, // 0x00000068 /// <summary>Клавиша 9 на цифровой клавиатуре.</summary> NumPad9 = NumPad8 | LButton, // 0x00000069 /// <summary>Клавиша умножения.</summary> Multiply = NumPad8 | RButton, // 0x0000006A /// <summary>Клавиша сложения.</summary> Add = Multiply | LButton, // 0x0000006B /// <summary>Клавиша разделителя.</summary> Separator = NumPad8 | MButton, // 0x0000006C /// <summary>Клавиша вычитания.</summary> Subtract = Separator | LButton, // 0x0000006D /// <summary>Клавиша десятичного разделителя.</summary> Decimal = Separator | RButton, // 0x0000006E /// <summary>Клавиша деления.</summary> Divide = Decimal | LButton, // 0x0000006F /// <summary>Клавиша F1.</summary> F1 = NumPad0 | ShiftKey, // 0x00000070 /// <summary>Клавиша F2.</summary> F2 = F1 | LButton, // 0x00000071 /// <summary>Клавиша F3.</summary> F3 = F1 | RButton, // 0x00000072 /// <summary>Клавиша F4.</summary> F4 = F3 | LButton, // 0x00000073 /// <summary>Клавиша F5.</summary> F5 = F1 | MButton, // 0x00000074 /// <summary>Клавиша F6.</summary> F6 = F5 | LButton, // 0x00000075 /// <summary>Клавиша F7.</summary> F7 = F5 | RButton, // 0x00000076 /// <summary>Клавиша F8.</summary> F8 = F7 | LButton, // 0x00000077 /// <summary>Клавиша F9.</summary> F9 = F1 | Back, // 0x00000078 /// <summary>Клавиша F10.</summary> F10 = F9 | LButton, // 0x00000079 /// <summary>Клавиша F11.</summary> F11 = F9 | RButton, // 0x0000007A /// <summary>Клавиша F12.</summary> F12 = F11 | LButton, // 0x0000007B /// <summary>Клавиша F13.</summary> F13 = F9 | MButton, // 0x0000007C /// <summary>Клавиша F14.</summary> F14 = F13 | LButton, // 0x0000007D /// <summary>Клавиша F15.</summary> F15 = F13 | RButton, // 0x0000007E /// <summary>Клавиша F16.</summary> F16 = F15 | LButton, // 0x0000007F /// <summary>Клавиша F17.</summary> F17 = 128, // 0x00000080 /// <summary>Клавиша F18.</summary> F18 = F17 | LButton, // 0x00000081 /// <summary>Клавиша F19.</summary> F19 = F17 | RButton, // 0x00000082 /// <summary>Клавиша F20.</summary> F20 = F19 | LButton, // 0x00000083 /// <summary>Клавиша F21.</summary> F21 = F17 | MButton, // 0x00000084 /// <summary>Клавиша F22.</summary> F22 = F21 | LButton, // 0x00000085 /// <summary>Клавиша F23.</summary> F23 = F21 | RButton, // 0x00000086 /// <summary>Клавиша F24.</summary> F24 = F23 | LButton, // 0x00000087 /// <summary>Клавиша NUM LOCK.</summary> NumLock = F17 | ShiftKey, // 0x00000090 /// <summary>Клавиша SCROLL LOCK.</summary> Scroll = NumLock | LButton, // 0x00000091 /// <summary>Левая клавиша SHIFT.</summary> LShiftKey = F17 | Space, // 0x000000A0 /// <summary>Правая клавиша SHIFT.</summary> RShiftKey = LShiftKey | LButton, // 0x000000A1 /// <summary>Левая клавиша CTRL.</summary> LControlKey = LShiftKey | RButton, // 0x000000A2 /// <summary>Правая клавиша CTRL.</summary> RControlKey = LControlKey | LButton, // 0x000000A3 /// <summary>Левая клавиша ALT.</summary> LMenu = LShiftKey | MButton, // 0x000000A4 /// <summary>Правая клавиша ALT.</summary> RMenu = LMenu | LButton, // 0x000000A5 /// <summary> /// Клавиша возврата обозревателя (Windows 2000 или более поздней версии). /// </summary> BrowserBack = LMenu | RButton, // 0x000000A6 /// <summary> /// Ключ прямой браузера (Windows 2000 или более поздней версии). /// </summary> BrowserForward = BrowserBack | LButton, // 0x000000A7 /// <summary> /// Клавиша обновления обозревателя (Windows 2000 или более поздней версии). /// </summary> BrowserRefresh = LShiftKey | Back, // 0x000000A8 /// <summary> /// Клавиша остановки обозревателя (Windows 2000 или более поздней версии). /// </summary> BrowserStop = BrowserRefresh | LButton, // 0x000000A9 /// <summary> /// Клавиша поиска обозревателя (Windows 2000 или более поздней версии). /// </summary> BrowserSearch = BrowserRefresh | RButton, // 0x000000AA /// <summary> /// Клавиша браузера "Избранное" (Windows 2000 или более поздней версии). /// </summary> BrowserFavorites = BrowserSearch | LButton, // 0x000000AB /// <summary> /// Клавиша home обозревателя (Windows 2000 или более поздней версии). /// </summary> BrowserHome = BrowserRefresh | MButton, // 0x000000AC /// <summary> /// Клавиша выключения звука тома (Windows 2000 или более поздней версии). /// </summary> VolumeMute = BrowserHome | LButton, // 0x000000AD /// <summary> /// (Windows 2000 или более поздней версии) клавиша уменьшения громкости. /// </summary> VolumeDown = BrowserHome | RButton, // 0x000000AE /// <summary> /// (Windows 2000 или более поздней версии) Клавиша увеличения громкости. /// </summary> VolumeUp = VolumeDown | LButton, // 0x000000AF /// <summary> /// Перехода к следующей записи ключа (Windows 2000 или более поздней версии). /// </summary> MediaNextTrack = LShiftKey | ShiftKey, // 0x000000B0 /// <summary> /// Перехода на предыдущую запись ключ (Windows 2000 или более поздней версии). /// </summary> MediaPreviousTrack = MediaNextTrack | LButton, // 0x000000B1 /// <summary> /// Клавиша остановки мультимедиа (Windows 2000 или более поздней версии). /// </summary> MediaStop = MediaNextTrack | RButton, // 0x000000B2 /// <summary> /// Клавиша приостановки воспроизведения (Windows 2000 или более поздней версии). /// </summary> MediaPlayPause = MediaStop | LButton, // 0x000000B3 /// <summary> /// Клавиша запуска почты (Windows 2000 или более поздней версии). /// </summary> LaunchMail = MediaNextTrack | MButton, // 0x000000B4 /// <summary> /// Выберите носитель ключ (Windows 2000 или более поздней версии). /// </summary> SelectMedia = LaunchMail | LButton, // 0x000000B5 /// <summary> /// Запуск приложения один ключ (Windows 2000 или более поздней версии). /// </summary> LaunchApplication1 = LaunchMail | RButton, // 0x000000B6 /// <summary> /// Клавиша запуска приложения два (Windows 2000 или более поздней версии). /// </summary> LaunchApplication2 = LaunchApplication1 | LButton, // 0x000000B7 /// <summary> /// Клавиша OEM с запятой на стандартной клавиатуре США (Windows 2000 или более поздней версии). /// </summary> OemSemicolon = MediaStop | Back, // 0x000000BA /// <summary>Клавиша OEM 1.</summary> Oem1 = OemSemicolon, // 0x000000BA /// <summary> /// Клавиша плюса ПВТ на клавиатуре любой страны или региона (Windows 2000 или более поздней версии). /// </summary> Oemplus = Oem1 | LButton, // 0x000000BB /// <summary> /// Клавиша OEM с запятой на клавиатуре любой страны или региона (Windows 2000 или более поздней версии). /// </summary> Oemcomma = LaunchMail | Back, // 0x000000BC /// <summary> /// Клавиша OEM с минусом на клавиатуре любой страны или региона (Windows 2000 или более поздней версии). /// </summary> OemMinus = Oemcomma | LButton, // 0x000000BD /// <summary> /// Ключ OEM периода на клавиатуре любой страны или региона (Windows 2000 или более поздней версии). /// </summary> OemPeriod = Oemcomma | RButton, // 0x000000BE /// <summary> /// Клавиша вопросительного знака ПВТ на стандартной клавиатуре США (Windows 2000 или более поздней версии). /// </summary> OemQuestion = OemPeriod | LButton, // 0x000000BF /// <summary>Клавиша OEM 2.</summary> Oem2 = OemQuestion, // 0x000000BF /// <summary> /// Клавиша OEM тильды на стандартной клавиатуре США (Windows 2000 или более поздней версии). /// </summary> Oemtilde = 192, // 0x000000C0 /// <summary>Клавиша OEM 3.</summary> Oem3 = Oemtilde, // 0x000000C0 /// <summary> /// Клавиша OEM открывающая скобка на стандартной клавиатуре США (Windows 2000 или более поздней версии). /// </summary> OemOpenBrackets = Oem3 | Escape, // 0x000000DB /// <summary>Клавиша OEM 4.</summary> Oem4 = OemOpenBrackets, // 0x000000DB /// <summary> /// Клавиша OEM вертикальной черты на стандартной клавиатуре США (Windows 2000 или более поздней версии). /// </summary> OemPipe = Oem3 | IMEConvert, // 0x000000DC /// <summary>Клавиша OEM 5.</summary> Oem5 = OemPipe, // 0x000000DC /// <summary> /// Клавиша OEM закрывающая квадратная скобка на стандартной клавиатуре США (Windows 2000 или более поздней версии). /// </summary> OemCloseBrackets = Oem5 | LButton, // 0x000000DD /// <summary>Клавиша OEM 6.</summary> Oem6 = OemCloseBrackets, // 0x000000DD /// <summary> /// OEM одинарной или двойной кавычки ключа на стандартной клавиатуре США (Windows 2000 или более поздней версии). /// </summary> OemQuotes = Oem5 | RButton, // 0x000000DE /// <summary>Клавиша OEM 7.</summary> Oem7 = OemQuotes, // 0x000000DE /// <summary>Клавиша OEM 8.</summary> Oem8 = Oem7 | LButton, // 0x000000DF /// <summary> /// Угловой скобки ПВТ или обратной косой чертой на клавиатуре RT 102 ключа (Windows 2000 или более поздней версии). /// </summary> OemBackslash = Oem3 | PageDown, // 0x000000E2 /// <summary>Клавиша OEM 102.</summary> Oem102 = OemBackslash, // 0x000000E2 /// <summary>Клавиша ОБРАБОТКИ.</summary> ProcessKey = Oem3 | Left, // 0x000000E5 /// <summary> /// Используется для передачи символов Юникода в виде нажатий клавиш. /// Значение клавиши пакета является младшим словом значения виртуальная клавиша 32 бита, используемый для методов ввода не клавиатуры. /// </summary> Packet = ProcessKey | RButton, // 0x000000E7 /// <summary>Клавиша ATTN.</summary> Attn = Oem102 | CapsLock, // 0x000000F6 /// <summary>Клавиша CRSEL.</summary> Crsel = Attn | LButton, // 0x000000F7 /// <summary>Клавиша EXSEL.</summary> Exsel = Oem3 | D8, // 0x000000F8 /// <summary>Клавиша ERASE EOF.</summary> EraseEof = Exsel | LButton, // 0x000000F9 /// <summary>Клавиша PLAY.</summary> Play = Exsel | RButton, // 0x000000FA /// <summary>Клавиша ZOOM.</summary> Zoom = Play | LButton, // 0x000000FB /// <summary> /// Константа, зарезервированная для использования в будущем. /// </summary> NoName = Exsel | MButton, // 0x000000FC /// <summary>Клавиша PA1.</summary> Pa1 = NoName | LButton, // 0x000000FD /// <summary>Клавиша CLEAR.</summary> OemClear = NoName | RButton, // 0x000000FE /// <summary>Клавиша SHIFT.</summary> Shift = 65536, // 0x00010000 /// <summary>Клавиша CTRL.</summary> Control = 131072, // 0x00020000 /// <summary>Клавиша модификатора ALT.</summary> Alt = 262144, // 0x00040000 } |
Практическое руководство. Сохранение и открытие файлов с использованием определенной кодировки
Вы можете сохранять файлы с определенной кодировкой для поддержки языков с двунаправленным письмом. Можно также указать кодировку при открытии файла, чтобы система Visual Studio отобразила его правильно.
Сохранение файла с кодировкой
В меню Файл выберите Сохранить файл как и затем нажмите кнопку раскрывающегося списка рядом с кнопкой Сохранить.
Откроется диалоговое окно Дополнительные параметры сохранения.
В разделе Кодировка выберите нужную кодировку для файла.
При необходимости в разделе Завершение строк выберите формат для знаков конца строки.
Этот параметр полезен, если предполагается обмениваться файлами с пользователями, работающими в другой операционной системе.
Если вы хотите работать с файлом, имеющим определенную кодировку, можно сообщить Visual Studio использовать эту кодировку при открытии файла. Конкретный метод зависит от того, является ли файл частью проекта.
Чтобы сохранить файл проекта с кодировкой, необходимо выгрузить проект. Только после этого станет доступна команда Сохранить файл как.
Открытие файла с кодировкой, являющегося частью проекта
В обозревателе решений щелкните файл правой кнопкой мыши и выберите команду Открыть с помощью.
В диалоговом окне Открыть с помощью выберите редактор для открытия файла.
Многие редакторы Visual Studio, такие как редактор форм, автоматически определяют кодировку и открывают файл соответствующим образом. Если вы воспользовались редактором, который позволяет указать кодировку, появляется диалоговое окно Кодировка.
В диалоговом окне Кодировка выберите кодировку, которую должен использовать редактор.
Открытие файла с кодировкой, не являющегося частью проекта
В меню Файл наведите указатель мыши на пункт Открыть, выберите элемент Файл или Файл из Интернета, а затем выберите нужный файл.
Нажмите кнопку раскрывающегося списка рядом с кнопкой Открыть и выберите пункт Открыть с помощью.
При написании программ в среде Visual studio иногда возникает необходимость вывода текста на русском языке. Казалось бы, что тут сложного? Берёшь и выводишь! А вот нет, иначе бы не было кучи форумов и страничек в интернете с этой проблемой.
А проблема заключается в кодировке, причём все сайты пишут работающие способы, но, к сожалению, далеко не у всех. В этой статье мы расскажем вам о том, как действительно нужно исправлять эту проблему.
Итак, вы написали программу, в которой решили вывести строку русскими буквами, например, «Русский язык в консоли!». Вы запускаете программу, но вместо заветной строки видите там «кракозябры»! Что же делать?
Чаще всего пишут, что достаточно лишь добавить setlocale(LC_ALL, «Russian»); в начале программы (для C программ требуется подключение библиотеки locale.h: #include <locale.h> ). Сделаем это. Теперь программа должна выглядеть так:
А возможный результат может выглядеть так:
Запустим её, если русский язык уже выводится — поздравляем! Проблема решена! Если нет, то идём дальше.
В верхнем меню выберете пункт файл , Сохранить <название вашего файла> как . В открывшемся окне вместо Сохранить выберем Сохранить с кодировкой , подтвердим, что желаем заменить файлы и выберем кодировку Кириллица (Windows) — кодовая страница 1251 .
Нажмём ОК и соберём программу заново.
Запустим программу вновь и теперь русский язык будет корректно выводиться!
UPD: Ещё один способ заставить работать русский язык
Если ничего из вышеперечисленного не помогло, значит проблема в кодировке самой консоли. А её можно изменить с помощью команды system(«chcp 1251»); , то есть программа будет выглядеть так:
Программист, сооснователь programforyou.ru, в постоянном поиске новых задач и алгоритмов
Языки программирования: Python, C, C++, Pascal, C#, Javascript
Выпускник МГУ им. М.В. Ломоносова
Programforyou — это сообщество, в котором Вы можете подтянуть свои знания по программированию, узнать, как эффективно решать те или иные задачи, а также воспользоваться нашими онлайн сервисами.
Собственно, перерыл все настройки, не могу найти. Сохранять файлы в UTF-8 по-одному — не вариант. Подскажите.
Знаете кого-то, кто может ответить? Поделитесь ссылкой на этот вопрос по почте, через Твиттер или Facebook.
Посмотрите другие вопросы с метками кодировка utf-8 encoding visual-studio-2019 или задайте свой вопрос.
Site design / logo © 2022 Stack Exchange Inc; user contributions licensed under cc by-sa. rev 2022.6.10.42345
Нажимая «Принять все файлы cookie», вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Время на прочтение7 мин
Количество просмотров104K
EditorConfig это конфигурационный файл и набор расширений, к большому количеству редакторов кода и IDE (Далее просто IDE).
Его задача — создать единый формат настроек, и, раз и навсегда, решить вопросы вроде “табы или пробелы” для всех IDE и всех языков программирования. Такой файл может храниться в системе контроля версий проекта, что позволит всем его разработчикам использовать одну и ту же конфигурацию.
Файлы .editorconfig можно найти в таких проектах, как jQuery, Ruby, WordPress, и многих других.
Плагины доступны для большого количество IDE
Давайте разберемся, как это работает.
Как выглядит файл EditorConfig?
Вот пример файла .editorconfig, который задает правила отступа для Python и JavaScript кода:
## Заранее извиняюсь за отсутствие нормальной подсветки синтаксиса в этом примере и далее.
## Хоть "ini" и содержится в списке форматов поддерживаемых Хабром, код красивым не становится.
## Если кто знает, как это починить - пожалуйста напишите в личку.
#
# Корневой файл EditorConfig
root = true
# Для всех файлов используем unix-совместимые переносы строк
[*]
end_of_line = lf
insert_final_newline = true
# отступы в 4 пробела
[*.py]
indent_style = space
indent_size = 4
# Используем табы для отступов (Не указываем размер)
[*.js]
indent_style = tab
# Перезависываем настройку отступов для js файлов в папке lib
[lib/**.js]
indent_style = space
indent_size = 2
# Только для файлов package.json or .travis.yml
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2
Формат файла
Файлы EditorConfig используют слегка модифицированный INI формат.
Каждый .editorconfig должен быть в кодировке UTF-8, а в конце строк должно быть либо
CRLF либо LF.
В качестве имени секции выступает маска файлов, например [*.js] или [index.html].
В отличии от обычного .ini формата, в имени секции можно использовать [ и ], что позволяет указать список символов, один из которых должен находиться в указаной позиции. Например, допустимы конструкции вроде этой: [file[123].js]. Как это работает — читайте ниже.
Каждый комментарий должен быть на отдельной строке и начинаться с ; или #.
Как работает поиск файлов по маске
* - Любое количество символов кроме разделителя пути (/)
Пример: [*.js]
hello.js // Совпадение
hellojs // Нет совпадения
index.html // Нет совпадения
lib/source.js // Нет совпадения
** - Любое количество символов
Пример: [**.js]
hello.js // Совпадение
hellojs // Нет совпадения
index.html // Нет совпадения
lib/source.js // Совпадение
? - Один любой символ
Пример: [hell?.js]
hello.js // Совпадение
hell.js // Нет совпадения
[name] - Любой символ из символов содержащийся в “name”
Пример: [[abc].js]
a.js // Совпадение
b.js // Совпадение
abc.js // Нет совпадения
[!name] - Любой символ которого нету в “name”
Пример: [file[!2468].js]
file1.js // Совпадение
file2.js // Нет совпадения
{s1,s2,s3} - Любая из строк разделенных запятыми
Пример: [index.{js,html}]
index.js // Совпадение
index.html // Совпадение
package.json // Нет совпадения
\ - Экранирование служебных символов
Пример: [\[abc\].js]
a.js // Нет совпадения
[abc].js // Совпадение
Настройки
Что можно настроить?
Editor config стремится быть независимым от языков и работать во всех IDE. К сожалению это не всегда возможно, поэтому некоторые из плагинов поддерживают не все настройки. Подробнее можно узнать на странице каждого плагина в гитхабе.
Все настройки нечувствительны к регистру.
indent_style
Значения: tab, space
Позволяет задать жесткую или мягкую табуляцию для отступов.
indent_size
Значения: Число
Позволяет задать ширину отступа использовании мягкой табуляции.
tab_width
Значения: Число
Позволяет задать ширину отступа использовании жесткой табуляции. Если не задано, возьмет значение из indent_size.
end_of_line
Значения: lf, cr, crlf
Позволяет выбрать, что использовать на концах строк.
charset
Значения: latin1, utf-8, utf-8-bom, utf-16be, utf-16le
Позволяет выбрать кодировку для файлов.
Использовать utf-8-bom не рекомендуется
trim_trailing_whitespace
Значения: true, false
Позволяет убрать пробелы из концов строк.
insert_final_newline
Значения: true, false
Позволяет убедиться, что в конце файла всегда будет новая строка.
root
Значения: true, false
Специальная настройка, которая должна быть на самом верху конфига. Если установлена в true, парсер не будет искать другие конфиги родительских папках (Подробности ниже).
Специальное значение Ignore
Некоторые файлы, например сторонние библиотеки или минифицированные файлы, лучше не трогать. В таких случаях для любой настройки можно задать значение ignore. Например:
# Задаем форматирование для JS и CSS
[*.{js,css}]
indent_style = space
indent_size = 2
# Но не переформатируем минифицированные JS и CSS файлы.
[*.min.*]
indent_style = ignore
trim_trailing_whitespace = false
insert_final_newline = ignore
А почему так мало настроек?
Изначальная задача EditorConfig — создать минимальный набор свойств, который работал бы во всех основных IDE.
Задача непростая, для примера давайте рассмотрим возможность добавления настройки, которая бы ограничила ширину строки: max_line_length
Чтобы добавить эту настройку, нужно решить несколько вопросов:
- Убедиться, что все редакторы/IDE ее поддерживают
- Решить, использовать ли жесткий или мягкий (когда строка физически остается длинной, но выглядит как две) перенос, или позволить пользователю выбрать это, добавив еще одну настройку (не все редакторы/IDE поддерживают оба вида переноса)
- Если использовать жесткий перенос, то что делать с языками где жесткий перенос может сломать код? (например HAML)
На данный момент свойство max_line_length существует, но работает только в vim.
Расширение EditorConfig
Если или программа, использующая EditorConfig, встречает незнакомую настройку, она должна ее проигнорировать. Это позволяет сделать формат расширяемым и не ограничиваться стандартными настройками.
Здесь есть два направления для развития:
Настройки для отдельных редакторов/IDE
Некоторые редакторы/IDE имеют свои особенности, например в jEdit набор кодировок больше, поэтому существует настройка jedit_charset, которая работает только для jedit.
Настройки для отдельных языков/расширений
Сторонние программы и плагины могут расширять EditorConfig и добавлять настройки, которые будут работать только для определенных языков или расширений файлов.
Например npm модуль CodePainter, который использует EditorConfig в качестве конфигурационного файла, позволяет выбрать кавычки (одинарные или двойные), которые будут использована для строк (qoute_type), или расставить пробелы внутри скобок (spaces_in_brackets). Но все это будет работать только для JavaScript.
Так же у разработчиков есть в планах целый набор возможных настроек, которые возможно будут использованы в будущем, например:
curly_bracket_next_line
Задает перенос фигурной скобки на следующую строчку, для языков где она есть
java_class_path
Может быть использовано другими плагинами
language
Позволяет задать язык по расширению файла. Это может помочь, когда шаблонизаторы, например Jinja2, используют файлы с расширением .html
Полный список можно посмотреть тут (eng.)
Где хранятся эти файлы?
Когда плагину нужно будет вычислить конфигурацию для файла, он будет подниматься по файловому дереву, от директории с файлом до корня, и загружать настройки из каждого .editorconfig файла на пути.
Приоритет настроек в конфигах, более близких к файлу, выше.
Для файла, с таким путем: /Users/username/code/project/main.js, плагин будет искать файл .editorconfig следющих местах:
/Users/username/code/project/.editorconfig
/Users/username/code/.editorconfig
/Users/username/.editorconfig
/Users/.editorconfig
/.editorconfig
Поиск можно остановить, задав root=true в одном из конфигов на пути.
Такая структура позволяет, например, создать .editorconfig в пользовательской папке и таким образом получить настройки по умолчанию для все проектов, и, при необходимости, переписать эти настройки на несколько уровней выше.
Как вычисляются настройки внутри файла?
Когда парсер читает файл .editorconfig, он дает больший приоритет настройкам, которые находятся ниже.
Авторы создали небольшое демо [Которое на данный момент, как заметил KindDragon, немного глючит при вычислении путей], где можно поиграться с форматом и посмотреть результат
Форматирование существующего кода
Плагины EditorConfig созданы таким образом, что они меняют настройки IDE в зависимости от окрытого файла. Иногда приходится использовать недокументрированне или необычные возможности IDE. Из-за этого форматирование применяется только при сохранении файлов, и если вы хотите использовать EditorConfig с уже существующим кодом, придется использовать один из инструментов ниже.
editorconfig-tools [ github ]
Набор инструментов для проверки и переформатирования кода. Находится на ранней стадии разработки и не пока не очень стабилен.
ECLint [ github ]
Похож по функциональности на editorconfig-tools, но, в дополнение, умеет анализировать существующий код и генерировать .editorconfig файл. Также на стадии разработки.
CodePainter [ github, npm ]
Использует .editorconfig, но работает только с JavaScript кодом.
Имеет специальные настройки для JS кода.
Плагины, как они работают и как их создавать?
В помощь создателям плагинов создан набор основных компонентов (ядер), которые могут быть использованы в плагинах и берут на себя работу по поиску и парсингуконфигурационных файлов. На данный момент существуют версии на C, Java, Python, ведется работа над JavaScript версией.
Сами плагины стараются перезаписать соответствующие настройки IDE вместо того, чтобы заниматься форматированием самим.
К сожалению, все еще не существует плагинов для такие IDE как Eclipse или NetBeans, их архитектура не позволяет легко менять настройки.
Если среди читающих есть кто-то, готовый взяться за создание плагинов, здесь неплохо расписано, как начать (eng.)
Для пользователей Windows
Чтобы создать файл .editorconfig в Windows Explorer, вам нужно создать файл с именем .editorconfig. и Windows Explorer переименует его в ..editorconfig
Ссылки и как в этом можно поучаствовать
Команда EditorConfig проделала отличную работу, но впереди еще много трудностей, интересных задач и решений:
- Написание и поддержка плагинов для менее известных IDE.
- Разработка ядер для плагинов на других языках и доработка текущих
- Расширение функциональности и добавление новых настроек
- Доработка существующих решений для трансформации кода
Если кому-то из читателей интересно было бы принять участие в работе проекта, вот хорошие способы связаться с разработчиками (все на английском):
- Google Groups.
- Wiki
- Багтрекер
- Так же был создан IRC канал EditorConfig на FreeNode, но он пока полупустой.
Я не в команде проекта, но использую .editorconfig сам и с удовольствием передам ваши предложения и пожелания — пишите в личную почту.
