Русский
Русский
English
Статистика
Реклама

Vs code

Перевод Ненужные расширения для VS Code

16.08.2020 16:17:46 | Автор: admin
Недавно я занялся тщательным исследованием VS Code и сделал несколько интересных находок. Как оказалось, в редакторе есть довольно много возможностей и настроек, позволяющих отлично решать те же задачи, которые решают многие популярные расширения.



Здесь речь пойдёт о шести сферах применения расширений, в которых эти расширения могут быть заменены стандартными механизмами VS Code.

1. Автоматическое переименование и закрытие тегов


Речь идёт о двух возможностях. Во-первых это возможность одновременного переименования открывающих и закрывающих тегов. Во-вторых возможность автоматического закрытия тегов.


Автоматическое переименование открывающего и закрывающего тегов

Расширения


  • Auto Rename Tag (3,3 миллиона загрузок): автоматически переименовывает парные HTML/XML-теги, так же, как это делается в Visual Studio IDE.
  • Auto Close Tag (3,1 миллиона загрузок): автоматически закрывает HTML/XML-теги, так же, как это делается в Visual Studio IDE или в Sublime Text.

Возможности VS Code


Соответствующая настройка в VS Code имеет несколько нечёткое и непонятное название. Наверное, именно поэтому многие люди не могут её найти.

  • Editor: Rename on Type: управляет автоматическим переименованием парных тегов при вводе кода. Значение по умолчанию false.

Для того чтобы найти эту настройку можно открыть окно настроек редактора (File > Preferences > Settings) и ввести Editor: Rename on Type в строке поиска настроек.

Для включения этой возможности надо добавить следующее в settings.json:

"editor.renameOnType": true

Пока поддерживаются только HTML-файлы, но в трекере проекта есть открытая задача, касающаяся поддержки JSX-файлов.

Сам VS Code вряд ли будет поддерживать подобное для Vue-файлов. Похожий механизм, вероятнее всего, будет реализован в расширении Vetur. В трекере этого проекта уже давно открыта соответствующая задача.

2. Синхронизация настроек


Теперь VS Code поддерживает синхронизацию настроек между разными компьютерами. Эта возможность доступна, начиная с предварительной версии VS Code 1.48 (июльский релиз 2020 года).

Я сейчас испытываю эту возможность и до сих пор ни с какими проблемами не столкнулся.

Расширение


  • Settings Sync (1,8 миллиона загрузок): синхронизирует настройки, клавиатурные сокращения, сниппеты, расширения, файлы launch.json и многое другое c GitHub Gist.

Возможности VS Code


Об этих возможностях можно почитать в документации к VS Code. Ниже показаны страницы с соответствующими настройками.


Настройки синхронизации

Для синхронизации можно пользоваться учётными записями Microsoft или GitHub, можно указывать то, что необходимо синхронизировать.


Выбор объектов, которые нужно синхронизировать

3. Управление импортом модулей


Управление импортом JavaScript- и TypeScript-модулей может представлять собой непростую задачу, особенно в том случае, если нужно реорганизовать проект или отрефакторить код. Разработчики стремятся, по возможности, это автоматизировать.

Расширения


  • Auto Import (1,1 миллиона загрузок): автоматически находит и разбирает команды импорта модулей, предоставляет механизмы автозавершения кода и даёт возможность использовать действия (Code Actions). Поддерживает TypeScript и TSX.
  • Move TS (308 тысяч загрузок): наблюдает за перемещением TypeScript-файлов и поддерживает в актуальном состоянии связанные с ними команды импорта в пределах рабочего пространства.
  • Auto Import ES6, TS, JSX, TSX (157 тысяч загрузок).

Возможности VS Code


  • JavaScript > Suggest: Auto Imports: позволяет включать и выключать предложения по автоматическому импорту. Требует использования в рабочем пространстве TypeScript начиная с версии 2.6.1. Значение по умолчанию true.
  • TypeScript > Suggest: Auto Imports: позволяет включать и выключать предложения по автоматическому импорту. Требует использования в рабочем пространстве TypeScript начиная с версии 2.6.1. Значение по умолчанию true.
  • JavaScript > Update Imports on File Move: Enabled: позволяет выбирать способ автоматического обновления путей импорта модулей при переименовании или перемещении файлов в VS Code. Требует использования в рабочем пространстве TypeScript начиная с версии 2.9. Значение по умолчанию prompt.
  • TypeScript > Update Imports on File Move: Enabled: позволяет выбирать способ автоматического обновления путей импорта модулей при переименовании или перемещении файлов в VS Code. Требует использования в рабочем пространстве TypeScript начиная с версии 2.9. Значение по умолчанию prompt.

Вот как выглядят эти настройки в файле settings.json:

"javascript.suggest.autoImports": true,"typescript.suggest.autoImports": true,"javascript.updateImportsOnFileMove.enabled": "always","typescript.updateImportsOnFileMove.enabled": "always",

Кроме того, если вы хотите упорядочивать команды импорта при сохранении файлов, вам понадобится следующая настройка:

"editor.codeActionsOnSave": {"source.organizeImports": true}

Её использование приводит к удалению неиспользуемых инструкций импорта и к размещению команд импорта таким образом, чтобы сначала шли бы команды, в которых используются абсолютные пути. Я большой любитель таких механизмов, о которых можно попросту забыть, однажды настроив их.

4. HTML- и CSS-сниппеты


Возможно, вы решите, что вам пригодилось бы следующее:

  • Использование HTML-шаблонов, которые позволяют быстро создавать стандартные элементы описания страниц.
  • Создание хранилища часто используемых фрагментов кода, использование которого позволяет экономить время.
  • Сокращённые способы описания больших блоков кода.

Всё это схожие, но немного отличающиеся друг от друга возможности, о реализации которых мы поговорим в этом разделе.

Расширения


  • HTML Snippets (3,8 миллиона загрузок): полные HTML-теги, включая HTML5-сниппеты.
  • HTML Boilerplate (684 тысячи загрузок): простой генератор шаблонного HTML5-кода.
  • CSS Snippets (22 тысячи загрузок): коллекция CSS-сниппетов.

Возможности VS Code


В VS Code встроен набор инструментов Emmet. Эти инструменты предлагают возможности по работе с сокращениями и сниппетами для HTML и CSS. Emmet включен по умолчанию для следующих файлов: html, haml, pug, slim, jsx, xml, xsl, css, scss, sass, less и stylus. Подробности об этом можно узнать в документации по VS Code.

Например, для того чтобы добавить в файл шаблонную HTML-разметку страницы, достаточно ввести восклицательный знак (!) и нажать клавишу Tab.


Добавление шаблонного HTML-кода в файл

Emmet поддерживает и сокращения, позволяющие вставлять в документы группы элементов. Их устройство напоминает CSS-селекторы.

Например, введём в HTML-файле такую конструкцию:

ul>li*5

Нажмём клавишу Tab. Эта конструкция будет преобразована в следующий код:

<ul><li></li><li></li><li></li><li></li><li></li></ul>

Если ввести в редакторе a и нажать на Tab, то в код будет вставлена конструкция <a href="">, а курсор будет размещён внутри кавычек, позволяя тут же ввести значение атрибута href.

Это лишь очень краткий рассказ о возможностях Emmet в сфере HTML. VS Code предлагает похожие возможности и для CSS. Среди этих возможностей мне больше всего нравится автоматическое добавление префиксов производителей браузеров. Подробности об Emmet вы можете найти в документации к этому набору инструментов. Кроме того, вам может пригодиться эта шпаргалка по Emmet.

Настраивать имеющиеся сниппеты и создавать собственные можно, редактируя файл snippets.json.

Emmet поддерживает не только обычные HTML и CSS. Например, чтобы пользоваться Emmet при создании Vue-приложений и при написании JavaScript-кода, в settings.json нужно добавить следующее:

"emmet.includeLanguages": {"vue-html": "html","javascript":"javascriptreact"}

Если вы хотите включить поддержку Emmet для markdown, то вам следует знать об одной особенности (или, скорее, об ошибке). Она заключается в том, что для этого вам нужно, чтобы в emmet.excludeLanguages был бы записан пустой массив:

"emmet.excludeLanguages": [],"emmet.includeLanguages": {"markdown": "html"}

Обсуждение этого можно найти здесь.

5. Шаблонный текст


Возможно, вам, в ходе работы над страницей, понадобится заполнить её шаблонным текстом. Делают это обычно для того чтобы оценить внешний вид страницы, на которой имеется какое-то содержимое. В роли такого текста часто используется знаменитый Lorem ipsum. Существуют расширения, позволяющие генерировать подобный текст, но соответствующие возможности есть и в VS Code.

Расширение



Возможности VS Code


Выше мы уже говорили о том, что в VS Code встроен набор инструментов Emmet. В Emmet имеется сокращение, позволяющее генерировать шаблонный текст. Для того чтобы им воспользоваться, достаточно ввести lorem и нажать на клавишу Tab. Благодаря этому будет автоматически сгенерирован абзац, состоящий из 30 слов.


Ввод сокращения lorem

Это сокращение можно использовать не только при создании одного абзаца текста, но и, например, для генерирования нескольких блоков каких-то элементов. Скажем, конструкция p*2>lorem приведёт к созданию двух элементов <p>, заполненных шаблонным текстом:

<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Qui dicta minusmolestiae vel beatae natus eveniet ratione temporibus aperiam harum aliasofficiis assumenda officia quibusdam deleniti eos cupiditate dolore doloribus!</p><p>Ad dolore dignissimos asperiores dicta facere optio quod commodi nam temporerecusandae. Rerum sed nulla eum vero expedita ex delectus voluptates rem atneque quos facere sequi unde optio aliquam!</p>

6. Автоматическое удаление хвостовых пробелов


Обычно соответствующие расширения убирают ненужные пробелы в конце строк либо в процессе редактирования кода, либо по команде. А те настройки VS Code, которыми я предлагаю воспользоваться вместо подобных расширений, рассчитаны на удаление пробелов при сохранении файлов.

Расширения


  • Trailing Spaces (447 тысяч загрузок): позволяет выделять и удалять хвостовые пробелы.
  • Autotrim (15 тысяч загрузок): в описании к этому расширению сказано следующее: Хвостовые пробелы часто появляются после редактирования кода, после удаления конструкций, находящихся в концах строк, после выполнения других подобных действий. Это расширение наблюдает за процессом редактирования кода, оно запоминает номер строки, в которой находится активный курсор. После того, как в этой строке больше не будет активного курсора, оно удалит из неё хвостовые знаки табуляции и пробелы.

Возможности VS Code


  • Files : Trim Trailing Whitespace: когда эта возможность включена, она будет убирать хвостовые пробелы при сохранении файлов. Значение по умолчанию false.

Для включения этой возможности в settings.json можно добавить следующее:

"files.trimTrailingWhitespace": true

Итоги


Прежде чем вы, столкнувшись с необходимостью решения какой-то задачи в VS Code, приступите к поиску подходящего расширения, выясните, есть ли средство для решения вашей задачи среди стандартных возможностей VS Code. Это кажется совершенно очевидным, но мы все, вероятно, иногда поступали с точностью до наоборот. Новые возможности появляются в VS Code регулярно, поэтому время от времени рекомендуется заглядывать в журнал изменений, внесённых в этот редактор.

Стремитесь ли вы всегда, когда это возможно, пользоваться стандартными возможностями VS Code, а не расширениями?

Подробнее..

Перевод 7 расширений для VS Code, установив которые, вы не захотите выходить из редактора

29.08.2020 16:14:40 | Автор: admin
Даже простейшие инструменты могут давать людям возможность делать великие дела.
Биз Стоун, Решайся! Заряд на создание великого от основателя Twitter

Одно из различий между очень хорошими и хорошими программистами заключается в том, какие инструменты они используют. Подбор правильных инструментов способен значительно облегчить разработчику жизнь. Это относится к тонкой настройке интегрированных сред разработки, используемых при написании кода.



Многие программисты используют в наши дни Visual Studio Code. Этот редактор кода поддерживает установку расширений. Существует столько подобных расширений, что можно говорить о том, что возможности настройки VS Code практически безграничны.

Но на Visual Studio Marketplace, на площадке, где публикуются расширения для VS Code, опубликовано просто невероятное количество расширений. А это значит, что программистам сложно находить именно то, что им действительно пригодится. Если некое расширение показалось кому-то полезным, то оно, вполне возможно, принесёт пользу и другим людям. Поэтому я расскажу здесь о 7 расширениях для VS Code, которые способны значительно облегчить работу программиста. Всё это бесплатные расширения. Любой может свободно их загружать и использовать.

1. REST Client


Расширение REST Client позволяет, прямо из VS Code, отправлять HTTP-запросы, и тут же просматривать ответы на них. Это расширение позволяет попрощаться с внешними приложениями, которые иначе пришлось бы использовать для выполнения запросов к серверам.

Это расширение, учитывая то, что у него более миллиона загрузок, весьма популярно. Им пользуется множество программистов. Я уже довольно давно пользуюсь REST Client и полагаю, что это замечательный инструмент.

С его помощью очень просто и удобно создавать и отправлять запросы. При работе с ним используются чёткие синтаксические конструкции, облегчающие его применение в самых разных ситуациях. Например, для отправки простого GET-запроса достаточно одной строки кода, в которой имеется ключевое слово GET и присутствует URL.

В общем, рекомендую испытать это расширение всем, кому нужен функционал REST-клиента.


Работа с REST Client

2. CSS Peek


Если вы занимаетесь веб-разработкой, то CSS Peek это расширение, которое обязательно должно присутствовать в вашем наборе инструментов. Данное расширение позволяет быстро просматривать CSS-правила, применяемые к различным HTML-элементам. Для того чтобы увидеть соответствующий CSS-код, достаточно навести указатель мыши на имя класса элемента или на его ID.

Ниже показан процесс работы с CSS Peek.


Работа с CSS Peek

Но возможности этого расширения идут дальше просмотра стилей. Оно, кроме прочего, позволяет быстро переходить к коду CSS-правил, используемых для стилизации элементов. Это позволяет экономить массу времени при поиске соответствующих селекторов.

3. Beautify


Если вам нравится чистый код, то вам, определённо, придётся по душе расширение Beautify. Оно позволяет форматировать код. Beautify поддерживает JavaScript, HTML, CSS, Sass и JSON.

Самое приятное в этом расширении то, что оно поддаётся глубокой настройке. Например, сюда входит настройка размеров отступов и указание того, должны ли файлы завершаться переводом строки. Beautify подойдёт тем, кто пишет код на разных языках программирования, для каждого из которых можно задавать собственные настройки.

Beautify, с более чем 5 миллионами загрузок, входит в топ-20 самых популярных расширений.

4. Auto Rename Tag


Расширение Auto Rename Tag решает весьма простую задачу, но, несмотря на это, оно способно занять достойное место в наборе инструментов программиста. А именно, оно автоматизирует задачу переименования HTML-тегов. В частности, если переименовывают открывающий тег, меняется и закрывающий тег. То же самое происходит и при переименовании закрывающего тега.

Если вам нужно, чтобы после ввода скобки, завершающей открывающий тег, автоматически вводился бы закрывающий тег, взгляните на расширение Auto Close Tag. Если у вас есть оба эти расширения, это хорошо поможет вам в написании HTML-кода, сделав ваш труд эффективнее, а результаты вашей работы единообразнее.


Работа с Auto Rename Tag

5. Quokka.js


Расширение Quokka.js это нечто вроде песочницы для экспериментов с кодом, встроенной прямо в редактор. Она позволяет работать с файлами, выводя соответствующие подсказки непосредственно в коде. Эти подсказки появляются в процессе ввода текста программы, что очень удобно.


Работа с Quokka.js

6. Night Owl


Чего стоит оптимизация VS Code без использования изумительной темы? Программисты проводят очень много времени, работая в редакторе, поэтому чем привлекательнее выглядит редактор тем лучше.

Night Owl это одна из замечательных тем, используемых многими программистами. В описании к ней сказано, что она рассчитана на тех, кто засиживается за компьютером до поздней ночи.


Тема Night Owl

Но если вам эта тема не нравится ничего страшного. Существует ещё очень много хороших тем, одна из которых вам точно подойдёт.

7. JavaScript (ES6) code snippets


Расширение JavaScript (ES6) code snippets, завершающее этот материал, предлагает разработчику набор сниппетов, которые позволяют быстро создавать современные JavaScript-конструкции.

Например, если, пользуясь этим расширением, ввести clg и нажать Enter в код попадёт console.log. Для того чтобы освоить все имеющиеся в этом расширении сниппеты может понадобиться некоторое время. Но тот, кто внедрил в работу JavaScript (ES6) code snippets, сможет по-настоящему быстро писать современный JS-код. Это окупает время, потраченное на изучение данного расширения.

Какими расширениями для VS Code пользуетесь вы?

Подробнее..

Перевод Профессиональная работа в VS Code 4 совета

12.09.2020 16:16:00 | Автор: admin
VS Code это, в наши дни, один из самых популярных редакторов кода. Продуманный подход к использованию этого редактора способен значительно повысить продуктивность программиста. В этом материале представлено несколько советов по профессиональному использованию VS Code. Хочется надеяться, что эти советы вам пригодятся.



1. Использование нескольких курсоров


Может случиться так, что программисту понадобится вводить один и тот же текст одновременно в нескольких местах.

Например, в следующем коде нужно добавить атрибут class=odd к первому, третьему и пятому элементам <li>. А ко второму, четвёртому и шестому элементам нужно добавить атрибут class=even.

<ul><li>Lorem, ipsum dolor.</li><li>Lorem, ipsum dolor.</li><li>Lorem, ipsum dolor.</li><li>Lorem, ipsum dolor.</li><li>Lorem, ipsum dolor.</li><li>Lorem, ipsum dolor.</li></ul>

Вот как выглядит то, что должно получиться, в редакторе.


Код в редакторе

Как решить эту задачу? Раньше я поступал так: вводил нечто вроде текста class=odd в одном месте, а потом копировал его в буфер обмена и вставлял везде, где он нужен. Правда, после того, как я узнал о возможности работать с несколькими курсорами в VS Code, я так делать перестал. Это значительно повысило эффективность моего труда.

В частности, речь идёт о следующем. Для добавления в текст нескольких курсоров нужно удерживать клавишу Alt на клавиатуре (в macOS клавишу Option) и щёлкать по тем местам, где должны появиться курсоры. После этого всё, что вводится с клавиатуры, будет одновременно появляться везде, где имеются курсоры.


Использование нескольких курсоров

Напомню, что речь идёт о следующих сочетаниях клавиш:

  • Windows: Alt+Щелчок мышью.
  • macOS: Option+Щелчок мышью.

2. Переименование сущностей и команда Rename Symbol


Теперь давайте изучим ещё один простой приём.

При вводе кода или текста документа можно столкнуться с ошибкой в написании какого-нибудь слова. Или, может быть, нужно будет применить в коде новое соглашение об именовании сущностей. В подобных ситуациях возникает нужда в одновременной обработке множества строк.

Представим, что у нас есть код, напоминающий тот, что приведён ниже. Нам нужно заменить все вхождения foo на bar. Как это сделать?

function foo(){// ...}foo();foo();foo();

Если вручную менять каждую строку, то у такого подхода будет пара недостатков:

  1. Слишком много ручного труда.
  2. Высокая вероятность возникновения ошибок.

Для решения этой задачи можно воспользоваться командой контекстного меню Rename Symbol.


Использование команды меню Rename Symbol

Это меню вызывается при выполнении щелчка правой кнопкой мыши по выделенному тексту. Другой способ вызова этой команды нажать F2 после выделения текста, который надо отредактировать.

3. Перемещение выделенных строк вверх и вниз


Иногда нужно переместить какой-то программный код или обычный текст вверх или вниз в документе. Эту задачу можно решить так:

  • Выделим текст.
  • В Windows воспользуемся сочетанием клавиш Alt+Стрелка вверх для перемещения текста вверх. Для перемещения текста вниз, соответственно, воспользуемся сочетанием клавиш Alt+Стрелка вниз.
  • В macOS роль клавиши Alt играет клавиша Options.

Вот как это выглядит.


Перемещение текста вверх и вниз

Благодаря этому подходу можно быстро и легко менять порядок размещения текста.

4. Сниппеты


В ходе написания кода нам постоянно приходится вводить с клавиатуры одни и те же повторяющиеся конструкции.

Например, HTML5-файлы всегда содержат следующую базовую структуру документа:

<!DOCTYPE html><html lang="en"><head><title></title></head><body></body></html>

А при написании for-циклов на JavaScript мы всегда вводим такие фрагменты кода:

for(let i = 0; i < ; i++){}

Можно привести ещё очень много подобных примеров. Если бы приходилось вводить эти фрагменты кода вручную, поступая так всегда, когда они нужны, это было бы очень неэффективно.

К счастью, VS Code даёт в наше распоряжение настраиваемый механизм автодополнения ввода. Вот как это выглядит.


Автодополнение ввода

Поговорим о том, как настроить VS Code и обзавестись тем, что показано на предыдущем рисунке.

Создание конфигурационного файла


Для настройки автодополнения ввода в VS Code нужно сначала создать соответствующий конфигурационный файл. Редактор читает этот файл, реализуя соответствующие механизмы. Для того чтобы создать этот файл, нужно, как показано на следующем рисунке, перейти в меню Code > Preferences > User Snippets.


Команда меню User Snippets

После этого появится следующая панель.


Панель для работы со сниппетами

Здесь можно выбирать существующие конфигурационные файлы и редактировать их. Ещё тут можно создать новый конфигурационный файл. Мы собираемся поступить именно так.

Если выбрать тут команду New Global Snippets file, будет создан конфигурационный файл, доступный глобально. Если же выбрать команду вида New Snippets file for 'test' будет создан файл, доступный локально, в текущем рабочем пространстве.

Мы создадим локальный файл.

После выбора команды New Snippets file for 'test' система запросит имя файла.


Ввод имени нового файла

Конфигурационный файл мы создали, но пока он пуст.


Новый пустой конфигурационный файл

Я, чтобы вам было удобнее, записал весь вышеописанный процесс и представил его здесь в виде анимированного gif-файла.


Создание нового конфигурационного файла

Создание сниппетов


Конфигурационный файл хранит данные в формате JSON. Вот пример его содержимого.


Содержимое конфигурационного файла

Вот то же самое, но уже в виде обычного текста:

{"html5 autocomplete": {"prefix": "html5","body": ["<!DOCTYPE html>","<html lang=\"en\">","<head>"," <title></title>","</head>","<body>","</body>","</html>"]}}

Для начала давайте взглянем на поле html5 autocomplete. Смысл этого поля заключается лишь в том, чтобы сообщить программисту о назначении сниппета. Сюда можно внести всё что угодно.

Разберёмся теперь с полем prefix: html5. Оно предназначено для описания задаваемого нами сокращения, которое редактор раскрывает в некий фрагмент кода. Когда мы вводим в редакторе текст html5, редактор автоматически заменяет его на то, что задано в элемент body.

Элемент body: [] содержит тот код, который редактор должен вставить в документ вместо введённого нами префикса. Так как этот код может состоять из множества строк, данное поле представлено массивом. Каждый элемент массива это одна строка кода. Если перевести конструкцию, которую мы только что рассматривали, на язык обычного HTML-кода, то получится, что она равносильна следующему:

<!DOCTYPE html><html lang="en"><head><title></title></head><body></body></html>

Теперь, когда в нашем распоряжении есть простой конфигурационный файл, давайте его протестируем.


Испытание конфигурационного файла

Область действия сниппетов


Мы убедились в том, что наш конфигурационный файл позволил организовать автодополнение ввода. Но в нём есть один недостаток. Дело в том, что конструкция, представленная в нём префиксом html5, используется только в HTML-файлах. В JavaScript-файлах нам эта конструкция не нужна.

В таких случаях очень кстати оказывается возможность указания области действия сниппетов. А именно, речь идёт о поле scope: html, которое нужно добавить в описание сниппета.


Ограничение области действия сниппета HTML-файлами

Испытаем нашу систему снова. Попробуем префикс html5 в HTML-файле и в JS-файле.


Испытание сниппета в HTML- и в JS-файле

В JS-файле, как видно, ввод html5 ни к чему особенному не приводит. А это именно то, что нам нужно.

Курсор


Давайте снова испытаем автодополнение ввода, выполняемое на основе созданного нами файла. Присмотримся к нему. Нет ли в нём каких-нибудь изъянов?


Исследование автодополнения ввода

Видно, что после вставки блока кода в редактор курсор автоматически попадает в конец этого блока. Но блок кода, который автоматически вставлен в документ, это лишь заготовка, над которой нужно ещё поработать. В частности, надо ввести содержимое тега <title>.

Пользоваться нашим механизмом автодополнения ввода было бы гораздо удобнее в том случае, если бы курсор автоматически устанавливался между открывающей и закрывающей частями тега <title>.

Для того чтобы это сделать, мы можем воспользоваться в конфигурационном файле специальной конструкцией $0. Вот как это выглядит.


Настройка местоположения курсора

Теперь, после того, как код оказывается в документе, курсор автоматически устанавливается туда, где в конфигурационном файле имеется $0.


Курсор устанавливается в нужном месте

Пример


А теперь, чтобы закрепить то, что мы только что изучили, давайте рассмотрим новый пример.

Нам хотелось бы, чтобы, после ввода в JavaScript- или TypeScript-файле текста fori, там автоматически появлялась бы следующая конструкция:

for(let i = 0; i < ; i++){}

И ещё чтобы курсор автоматически устанавливался бы после i <.

Можете пока не смотреть на решение этой задачи. Попытайтесь решить её самостоятельно.

В общем-то, решение этой задачи может быть представлено таким конфигурационным файлом:

{"for-i loop": {"prefix": "fori","scope": "javascript, typescript","body": ["for(let i = 0; i < $0; i++){","}"]}}

Вот демонстрация.


Использование сниппета fori

Сниппетами пользуются именно так. Я много рассказывал об этом, так как сниппеты это одна из моих любимых возможностей VS Code. Я думаю, что она пригодится и вам. Раньше, когда я сталкивался с повторяющимися фрагментами кода, мне приходилось копировать их из файлов, в которых они уже были. Это медленный процесс, чреватый ошибками. А теперь, благодаря возможности оформлять такие фрагменты кода в виде сниппетов, задача ввода повторяющихся фрагментов кода стала гораздо проще.

Какие возможности VS Code помогают вам в повседневной работе?



Подробнее..

Начинаем писать под stm8, выбираем среды разработки и стартуем

28.04.2021 12:07:29 | Автор: admin
image

На пути в программировании stm8 есть развилка, о ней сегодня и поговорим.

Определимся что речь будет идти о средах которые могут писать под си. Для начала поговорим о подходах, я выделю 2 основных.

Первый установка ST Visual Develop и выбор в качестве компилятора COSMIC Бывший платный, а ныне бесплатный, но со своими заморочками; регистрация, получение ключа, и прочие танцы с бубном.

Второй же вариант, более простой VS Code + PlatformIO и компилятор SDCC полностью свободный. И опять же не все так просто. Sdcc не умеет исключать не используемые функции. Я решил этот вопрос хоть и успешно, но не без дополнительных действий при написании кода.

Первая среда, для любителей всё делать правильно


Для начала нам нужен ST Visual Develop. Устанавливаем и ставим запуск ярлыка всегда от администратора. В придачу к нему нам дают ST Visual Programmer, полезный инструмент, особенно когда стоит защита от записи и надо разблокировать микроконтроллер, а ведь китайские blue pill всегда приходят заблокированными. Китайцы бояться что мы украдём их круто оптимизированный Blink.

Вот так выглядит STVD
image
Я так понял её создали, когда в моде были 16 битные цвета...

Дальше нужно будет получить компилятор COSMIC и его лицензионный ключ. Заполняем то что просят, получаем дистрибутив и делаем запрос ключа по электронной почте (тут рулетка кому то сразу придёт, кому то придётся подождать).

После пройденного лабиринта из форм и запросов, когда всё уже установлено, начнём
image
image
При первом запуске нужно указать расположение ключа, его лучше поместить в директорию компилятора. После создания нажимаем F7, ошибок быть не должно. Если писать на чистых регистрах, то всё готово, но я такой хардкор не люблю, поэтому продолжим и добавим SPL библиотеку.

Распакуем куда-нибудь и заходим в папку STM8S_StdPeriph_Lib\Project\STM8S_StdPeriph_Template. Тут у нас шаблон проекта stm8s_conf.h это конфигурационный файл библиотеки, через него выбирается контроллер. Зайдём в main тут сразу с первых строк #include "stm8s.h" это ссылка на основную библиотеку, а так же кусок кода отладки который начинается с #ifdef USE_FULL_ASSERT, без отладочного кода будут сыпаться ошибки.

Теперь когда мы прошлись по верхам давайте пробовать запускать библиотеку. Добавляем в проект из шаблона main и конфигурационный файл в. В include files добавляем всё из STM8S_StdPeriph_Lib\Libraries\STM8S_StdPeriph_Driver\inc.
image
Теперь всё должно собраться.

Добавим stm8s_gpio.c и соберём простецкую мигалку. У меня один из светодиодов висит на D3, конфигурация ноги на выход выглядит так:

GPIO_DeInit(GPIOD);GPIO_Init(GPIOD, GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_SLOW);

Её вписываем в main до бесконечного цикла.

А вот функция смены состояния. GPIO_WriteReverse(GPIOD, GPIO_PIN_3); вписываем её в бесконечный цикл.

Но вот незадача, в SPL нету функций задержки, скопипастим из примера GPIO в библиотеке. Там она выглядит следующим образом.

void Delay(uint16_t nCount){  /* Decrement nCount value */  while (nCount != 0)  {    nCount--;  }}

Впишем её в конец перед #ifdef USE_FULL_ASSERT. Так же впишем её прототип в начало, где под это выделено место в шаблонном main.

/* Private function prototypes -----------------------------------------------*/void Delay (uint16_t nCount);

Ну и наконец впишем функцию со значением в бесконечный цикл после функции смены состояния: Delay(0xFFFF);

Подключаем ST-Link и прошиваем, для этого нажимаем Start Debugging и Run. Светодиод моргает значит всё хорошо.

У кого не получилось вот полный main.c
/**  ******************************************************************************  * @file    Project/main.c   * @author  MCD Application Team  * @version V2.3.0  * @date    16-June-2017  * @brief   Main program body   ******************************************************************************  * @attention  *  * <h2><center> COPYRIGHT 2014 STMicroelectronics</center></h2>  *  * Licensed under MCD-ST Liberty SW License Agreement V2, (the "License");  * You may not use this file except in compliance with the License.  * You may obtain a copy of the License at:  *  *        http://www.st.com/software_license_agreement_liberty_v2  *  * Unless required by applicable law or agreed to in writing, software   * distributed under the License is distributed on an "AS IS" BASIS,   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  *  ******************************************************************************  */ /* Includes ------------------------------------------------------------------*/#include "stm8s.h"/* Private defines -----------------------------------------------------------*//* Private function prototypes -----------------------------------------------*/void Delay (uint16_t nCount);/* Private functions ---------------------------------------------------------*/void main(void){GPIO_DeInit(GPIOD);GPIO_Init(GPIOD, GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_SLOW);  /* Infinite loop */  while (1)  {GPIO_WriteReverse(GPIOD, GPIO_PIN_3);    Delay(0xFFFF);  }  }void Delay(uint16_t nCount){  /* Decrement nCount value */  while (nCount != 0)  {    nCount--;  }}#ifdef USE_FULL_ASSERT/**  * @brief  Reports the name of the source file and the source line number  *   where the assert_param error has occurred.  * @param file: pointer to the source file name  * @param line: assert_param error line source number  * @retval : None  */void assert_failed(u8* file, u32 line){   /* User can add his own implementation to report the file name and line number,     ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */  /* Infinite loop */  while (1)  {  }}#endif/************************ (C) COPYRIGHT STMicroelectronics *****END OF FILE****/


Теперь посмотрим со стороны на эту среду.

По плюсам; у неё есть полноценная отладка, поддержка SPL из коробки. По минусам; она старая из этого вытекает, не очень приятный интерфейс и старый диалект си, на который многие свежие библиотеки придётся переписывать, в частности ставить переменные только вначале функций. Вес кода оставляет желать лучшего. Ну последний камень, этот инструмент может просто взять и вылететь, такое бывает, нечасто, но всё же.

Вторая среда, для тех кто не любит заморачиваться.


Второй подход это свободный и обновляемый компилятор SDCC, а так же среда PlatformIO.

Для начала установим VS Code и станем рабами Microsoft, далее найдём расширение PlatformIO.

image

Ждём пока миллион ползунков пройдёт до конца и перезапускаем программу. Открываем расширение (может быть и само откроется). Создаём новый проект и выбираем ближайшую плату с stm8s (микроконтроллер можно будет изменить в конфигурационном файле). В качестве фреймворка выбираем SPL мы же не ардуинщики, нас интересует хардкор.

Не удивляйтесь, проект будет создаваться прилично долго, потому как он на ходу будет подгружать компилятор, библиотеки и тд. И вот перед нами возник девственно голый проект, закрываем его он нам больше не нужен. В меню где мы создавали проект, открываем пример spl-blink, суть в том что blink генерирует неплохой шаблон в котором можно сразу писать. Правим пример под себя и прошиваем, всё моргает.

Разберем поподробнее среду разработки. Во первых весь проект должен лежать в src, иначе среда ведёт себя неадекватно. Во вторых открываем stm8s_conf.h и видим что все библиотеки кроме GPIO закомментированы, если этого не сделать то у мк не хватит памяти что бы поместить весь SPL в микроконтроллер (помните в начале я говорил что он загружает все функции что видит в код?).

Выходит что тут мы должны будем ручкам включать и отключать библиотеки, а если пойти дальше в оптимизацию как я и сделал, то нужно будет каждую функцию включать и отключать. Часть конфигурационного файла у меня выглядит следующим образом:

/* Private define ------------------------------------------------------------*/#define _GPIO_DeInit#define _GPIO_Init#define _GPIO_WriteReverse#define _CLK_DeInit#define _CLK_SYSCLKConfig#define _TIM4_DeInit#define _TIM4_ITConfig#define _TIM4_ClearITPendingBit#define _TIM4_Cmd#define _TIM4_TimeBaseInit#define _TIM4_ClearFlag#define _HAL_GPIO_WritePin#define _GPIO_WriteLow#define _GPIO_WriteHigh//#define STM8S003/* Includes ------------------------------------------------------------------*/#include "stm8s.h"/* Uncomment the line below to enable peripheral header file inclusion */#if defined(STM8S105) || defined(STM8S005) || defined(STM8S103) || defined(STM8S003) ||\    defined(STM8S001) || defined(STM8S903) || defined (STM8AF626x) || defined (STM8AF622x)// #include "stm8s_adc1.h" #endif /* (STM8S105) ||(STM8S103) || (STM8S001) || (STM8S903) || (STM8AF626x) */#if defined(STM8S208) || defined(STM8S207) || defined(STM8S007) || defined (STM8AF52Ax) ||\    defined (STM8AF62Ax)// #include "stm8s_adc2.h"


Каждую функцию я включаю через макрос, для этого у меня переписана большая часть SPL. Если вам оптимизация сильно не нужна, то такой упоротостью можете не заниматься.

Пройдёмся по преимуществам: работает почти из коробки, полностью бесплатно без попрошайничества, редакции языка обновляются и не придётся учить и переписывать код под си 80-90г. Сам интерфейс настраиваемый и намного приятнее. Для тех кто не любит win есть linux версия.

По минусам: нету полноценной отладки (над ней активно работают, но пока ничего приближённого к cosmic я не видел), в проекте небольшой хаос, раскидать по папкам пока нельзя.

Послевкусие.


Ну и на последок есть ещё среды, варианты и компиляторы, но либо это тот же SDCC вкрученный силой в Eclipse или ещё куда и работающий хуже чем в VS Code, либо это платные варианты IAR, Raisonance. Я лично пользуюсь и тем и тем, но чаще VS Code. Рекомендовать ничего не буду каждому своё, увидимся в комментариях)

Подробнее..

Перевод Полезные расширения VS Code для JavaScript-разработчиков

23.02.2021 22:04:36 | Автор: admin
Недавно мы опубликовали перевод статьи про полезные расширения VS Code для Python-разработчиков. Настала очередь JavaScript!

В прошлый раз читатели делились своими фаворитами в комментариях. Надеемся, что сегодня нам тоже удастся собрать отличную подборку полезных расширений VS Code для JavaScript.

Уже несколько лет я использую PyCharm Pro и WebStorm, IDE от Jetbrains. Поскольку это недешевые продукты, каждый раз, когда я их рекомендую, люди предлагают мне перейти на VS Code, так как этот редактор бесплатный и крутой одновременно. После нескольких таких дискуссий на Reddit я пообещал, что протестирую VS Code в течение пары недель.

Среди важных преимуществ VS Code (помимо, конечно, стоимости for free): возможность настройки и экосистема плагинов. Я хотел получить максимум от пробной версии, для этого мне и потребовались плагины. Опять же на Reddit мне посоветовали огромное количество различных расширений, и сегодня я хотел бы поговорить о плагинах для VS Code, которые мне особенно понравились.



Несмотря на мой эксперимент с VS Code, я продолжаю работаю с любимыми PyCharm и WebStorm, так как за все эти годы я уже привык к ним. Их стоимость полностью оправдана ценностью и качеством. При этом VS Code приятно удивил меня: это очень простой и быстрый инструмент.

ESLint




ESLint, без сомнения, является одним из самых популярных расширений среди JS-разработчиков. Оно применяет правила ESLint на коде и отображает результат в редактор. Это позволяет быстро выявлять и исправлять нарушения правил. ESLint будет полезен всем разработчикам на JS, так как помогает повысить производительность и качество кода.

Скачать ESLint

Prettier




Prettier это упрямый (opinionated) инструмент для форматирования кода, который интегрируется с VS Code, Visual Studio, Atom, Vim, Sublime Text и другими редакторами. Удобное небольшое расширение, которое поможет отформатировать код, сделать нужные отступы, а также подсветит ключевые слова, чтобы код легче читался.

Конечно, такие полезные функции снизят трудозатраты на форматирование и, следовательно, увеличат нашу производительность. Благодаря Prettier, читаемость кода будет на очень высоком уровне.

Скачать Prettier

Quokka.js




Расширение Quokka.js обеспечивает быстрое создание прототипов JavaScript в редакторе VS Code. Это песочница в режиме реального времени для JavaScript- и TypeScript-разработчиков. Quokka.js часто называют современным блокнотом для разработчиков на JavaScript.

Вы когда-нибудь хотели протестировать что-то по-быстрому и, в конце концов, использовали консоль браузера? Или вы запускаете node-процесс в терминале и пробуете там? Основная цель этого расширения быстро и удобно запускать код прямо в редакторе VS Code.

Скачать Quokka.js

REST Client




REST Client это расширение для VS Code, которое позволяет отправлять HTTP-запросы и видеть ответ прямо в VS Code.

Это Postman для VS Code, но удобно встроенный в редактор кода.

REST Client поддерживает API REST и GraphQL.

Скачать REST Client

Debugger for Chrome




Отладка JavaScript может быть достаточно неприятным процессом. Chrome и другие браузеры предлагают отличные инструменты, которые помогут вам в работе.

Тем не менее с ними часто бывает совсем непросто работать. Кроме того, такие инструменты не очень удобны, особенно при использовании фреймворков и множества библиотек.

Debugger for Chrome это расширение, разработанное Microsoft, которое помогает легко отладить код для каждого небольшого изменения.

Консоль расширения приятно удивляет своей мощностью, особенно когда нужно обнаружить, в какой строке и функции возникла ошибка. Можно даже проследить обработку данных.

Запускайте код в Chrome и отлаживайте его в редакторе кода.

Скачать Debugger for Chrome

Live Server




Live Server позволяет запускать локальный сервер разработки с функцией live-reload для статических и динамических страниц. Это не очень актуально для тех, кто работает с фреймворками, которые уже настроили live-reload, например, React. Однако, если вы работаете с другими библиотеками или статическим контентом, то это расширение вам точно пригодится.

Скачать Live Server

Live Share




Это потрясающий инструмент! Я не уверен, что есть что-то подобное для WebStorm. С помощью Live Share можно поделиться своим редактором кода с другими людьми. Он идеально подходит для парного программирования, это особенно актуально сейчас, когда большинство до сих пор работает удаленно из-за пандемии.

Я попробовал, и мне понравилось!

Скачать Live Share

JavaScript (ES6) Code Snippets




Как вы, наверное, заметили, почти все расширения из этого списка повышают производительность, и JavaScript (ES6) Code Snippets не исключение.

Название говорит само за себя! Данное расширение поможет увеличить скорость кодинга за счет работы с заранее заданным набором сниппетов. Сниппеты можно настроить в зависимости от наших предпочтений, установив готовые пакеты или создав собственные.

Загрузить JavaScript (ES6) Code Snippets

Babel JavaScript




За последнее время JavaScript сильно развился. Появилось большое количество фреймворков и библиотек, например, React, Flow, GraphQL, и, как следствие, много новых способов оформлять код.

Babel JavaScript позволяет работать с последней версией синтаксиса JavaScript, а также перечисленных выше библиотек. Расширение предлагает JavaScript-редактору самые последние и красивые версии синтаксиса.

Скачать Babel JavaScript

One Dark Pro




Разработчики проводят в редакторе кода целую вечность, поэтому особенно важно, чтобы мы были довольны его видом и эстетикой. One Dark Pro это тема для VS Code, которая делает редактор более красивым, похожим на то, к чему я привык.

Скачать One Dark Pro

Вывод


Попробовав VS Code, я был приятно удивлен, осознав, насколько он быстр и надежен.

Настроив его под себя с помощью расширений, я также смог прочувствовать, насколько он мощный.

Поскольку это один из самых популярных редакторов кода на рынке (если не самый популярный), существует огромное сообщество, создающее инструменты и расширения, чтобы сделать его еще лучше. Это как раз то, что мне всегда нравилось в продуктах Jetbrains, и то, что мне нравится сейчас в VS Code.

VS Code отличный выбор для любого разработчика. Рекомендую! Однако WebStorm и PyCharm по-прежнему занимают особое место в моем сердце.

Спасибо, что прочитали эту статью!
Подробнее..

Перевод Не хочу Visual Studio Code 7 open source альтернатив

23.06.2020 12:07:45 | Автор: admin
В этом переводе расскажем про альтернативные редакторы кода, которые ничуть не уступают VS Code, а при грамотном подборе расширений даже превосходят его.



Редактор Visual Studio Code, также известный как VS Code работает на Linux, Windows и macOS. Он занимает промежуточное положение между простым текстовым редактором исходного кода и интегрированной средой разработки (IDE), которая управляет всей вашей кодовой базой. Функциональность VS Code можно расширить с помощью плагинов. Это надёжный редактор кода, который может достойно побороться с проприетарными конкурентами.

Изначально VS Code был создан open source продукт. Однако его готовые сборки распространяются под проприетарной лицензией Microsoft. Но не всё так плохо.


Использование VS Code как open source


Исходники VS Code доступны на GitHub. Тем не менее, когда вы загружаете готовую сборку, в игру вступает Лицензия Microsoft. И тогда ваш VS Code резко перестаёт быть open source продуктом. Оказывается, в данном случае решает процесс сборки.

Крис Диас, разработчик проекта VS Code, проводит аналогичный пример браузера Chrome и его open source проекта Chromium. VS Code действительно построен на базе решений с открытым исходным кодом. Однако официальная сборка от Microsoft настраивается с учетом специфических функций, включая товарный знак, галерею расширений, проприетарный отладчик C# и телеметрию. Но когда вы клонируете и создаете сборку самостоятельно, вы генерируете более чистую версию, которая называется Code-OSS (OSS означает программное обеспечение с открытым исходным кодом).

На практике различия между VS Code и Code-OSS минимальны. В частности, в VS Code работает телеметрия: то есть, Microsoft собирает данные об использовании продукта. Справедливости ради нужно отметить, что в наши дни существует множество продуктов, которые собирают такие данные.

Если вам нравится VS Code, но вы хотите рассмотреть true open source альтернативы, то вам определённо стоит читать дальше.

VSCodium




Самая очевидная альтернатива VS Code это VS Code без фирменных дополнений Microsoft. Проект VSCodium содержит только свободные компоненты, построенные на основе кодовой базы VS Code. Разработчики VSCodium сделали всё возможное, чтобы мы имели возможность отключить телеметрию. Они подготовили чистую сборку исходного кода VS Code, которую вы можете скачать, не создавая её самостоятельно.

Разработчики напоминают, что VS Code включает в себя некоторые проприетарные инструменты, которые не могут поставляться с открытым исходным кодом. Если они вам нужны, существуют документированные способы решения этих проблем. Но если вам нужна очень специфичная функция из VS Code сборки Microsoft, вы должны убедиться, что она работает в VSCodium.

Кроме того, нужно проверить, что вся телеметрия отключена.

Code-OSS


Если вы не хотите использовать сборку VSCodium, вы можете самостоятельно скомпилировать VS Code из исходного кода и в итоге получить то же самое. Исполняемый файл называется Code-OSS, а не VSCode. Условия лицензирования и способы решения проблем с использованием проприетарных функций те же, что и у VSCodium.

При первом запуске нужно проверить, что телеметрия отключена.

Atom




Atom это IDE-подобный текстовый редактор с открытым исходным кодом, который Microsoft приобрела вместе с GitHub. Как и VS Code, вы можете расширить редактор Atom с помощью плагинов, добавить темы и собрать свою комбинацию дополнительных инструментов. Это кроссплатформенный продукт, который имеет встроенную интеграцию с GitHub. Короче говоря, Atom это идеальный вариант, если необходимые вам расширения уже существуют или вы готовы их написать.

Как и VS Code, Atom по умолчанию использует телеметрию. Её можно отключить, и в отличие от VS Code, нет никаких ограничений на расширения, поэтому вам не нужно менять рабочий процесс из-за требований конфиденциальности. Atom, безусловно, полезный инструмент для разработчиков. Более того: он в принципе подходит для всех, кто использует компьютер. Если вы ищете хороший текстовый редактор общего назначения, можете попробовать Atom.

GNOME Builder




GNOME Builder это редактор кода для Linux, специально предназначенный для создания приложений на основе GNOME. Если вы создаете приложения для Linux и хотите легко добиться совместимости, то Builder лучший вариант. GNOME Builder доступен на Flathub.org. При первом запуске он предложит вам установить GNOME SDK, если вы этого не сделали.

Однако вы можете использовать Builder не только для разработки приложений GNOME. Он поддерживает десятки языков программирования, включая Python, Rust, C и C ++, Java, Go, JavaScript, TypeScript, VB.NET, несколько языков разметки, Markdown и многие другие. Некоторые из них имеют полную поддержку с автозаполнением и сниппетами, в то время как другие имеют минимальные удобства, такие как подсветка синтаксиса и автоматическое сопоставление скобок. С IDE приятно работать, независимо от того, считаете ли вы себя серьёзным программистом или вы просто хотите побаловаться с HTML и CSS.

Geany




Geany мощный, надёжный и лёгковесный редактор с полезными функциями, которые помогут вам написать хороший код на Bash, Python, Lua, XML, HTML, LaTeX и так далее. Он поддерживает 50 различных языков программирования и скриптовых языков, а также языки разметки и файлы (таких как .diff и .po). Geany как минимум обеспечивает сопоставление скобок и подсветку синтаксиса, а обычно предлагает гораздо больше.

С помощью плагинов вы можете добавить такие функции, как обозреватель проекта, проводник, отладка, терминал и так далее. Вы можете продолжать расширять его функциональность и в какой-то момент он превратится в настоящую IDE. Если вы не можете запустить VS Code на компьютере из-за ограничений ЦП или ОЗУ, Geany может стать хорошей альтернативой. Он быстро запускается, и потребляет малый объём памяти. Хотя Geany работает медленнее, чем Vim в терминале, он не тормозит даже на Raspberry Pi.

Brackets




Brackets это текстовый редактор и IDE для веб-разработчиков. Он имеет мощную поддержку HTML, CSS, JavaScript, PHP и даже Python. У Brackets богатая экосистема расширений, поэтому с подходящими плагинами он позволит писать практически на любом современном языке.

Существуют расширения, помогающие анализировать, запускать скрипты и даже компилировать и выполнять код прямо в окне редактора. Brackets имеет традиционный интерфейс, который может понять практический каждый, кто выходил за пределы блокнота. Если вы потратите немного времени на добавление соответствующих расширений и знакомство с ними, Brackets с помощью автозаполнения и линтера поможет избежать глупых ошибок при наборе текста. И если вы пишете код, это ускорит процесс тестирования и отладки.

Che




Если вам нравится быть впереди планеты всей, то стоит попробовать Che. Это облачная IDE, она работает по модели SaaS. Тем не менее, это полноценный open source проект. Если у вас есть экземпляр Kubernetes, можете полностью перенести её к себе.

Che не просто IDE, которая живёт в облаке. Это IDE, созданная для облачной разработки. Она не пытается что-либо хранить на вашей локальной файловой системе. Если у вас есть Git-сервер, вы можете рассматривать его как файловую систему и работать над проектом непосредственно из его репозитория. Конечно, вы также можете скачать любой проект, над которым работаете, если хотите иметь локальную резервную копию.

Но его главная особенность, которой восхищаются разработчики облачных решений, заключается в том, что Che это полнофункциональная среда разработки с открытым исходным кодом, ориентированная на Kubernetes. Если вы создаёте приложения, сайты или контейнеры (или их комбинацию) для облака, то вам стоит попробовать Che.

А чем пользуетесь вы?


Вы используете одну из этих альтернатив VS Code? Или может быть, пока ещё думаете о том, чтобы попробовать одну из них? Поделитесь своим опытом в комментариях?



На правах рекламы


Встречайте! Впервые в России эпичные серверы!
Мощные серверы на базе новейших процессоров AMD EPYC. Частота процессора до 3.4 GHz. Максимальная конфигурация 128 ядер CPU, 512 ГБ RAM, 4000 ГБ NVMe!

Подробнее..

Перевод 7 полезных расширений VS Code для Python-разработчиков

13.02.2021 22:06:51 | Автор: admin
Наиболее важные и полезные расширения VS Code для Python-разработчиков в нашем новом переводе.

Я пользуюсь PyCharm, и меня всё устраивает. Скорее всего, я не буду менять редактор в ближайшее время. Но вокруг VS Code столько шумихи, столько людей в Reddit и Twitter советовали мне перейти на VS Code, что я просто не мог его не попробовать.



И это был замечательный опыт! Хотя мое сердце все еще принадлежит PyCharm, VS Code классный продукт. Я могу его порекомендовать на все 100%. Он настраиваемый и быстрый, а большое количество расширений делают VS Code очень мощным и функциональным.

Давайте рассмотрим наиболее важные расширения VS Code для Python на 2021 год.

Python




VS Code поддерживает выделение кода для Python и без этого расширения. Однако я всё же советую его установить. Расширение Python, так же как и сам VS Code, разработано командой Microsoft. Оно так важно для продуктивности Python-разработчиков, что VS Code автоматически предложит вам установить его сразу после открытия первого .py файла.

Но зачем нужно это расширение, если у нас уже есть подсветка синтаксиса? Когда мы пишем Python, данное расширение мощный источник полезных функций:

  • IntelliSense: Редактируйте код с возможностями автодополнения, навигации по коду, проверки синтаксиса и др.
  • Линтинг (Linting): Дополнительно анализируйте код с помощью Pylint, Flake8 и др.
  • Форматирование кода: Оформите код с помощью black, autopep или YAPF.
  • Отладка: Отлаживайте Python-скрипты, веб-приложения, а также удаленные или многопоточные процессы.
  • Тестирование: Запуск и отладка тестов через Test Explorer с помощью unittest, pytest или nose.
  • Jupyter Notebooks: Создавайте и редактируйте блокноты Jupyter, добавляйте и запускайте ячейки (code cells), рисуйте графики, визуализируйте переменные с помощью Variable Explorer, визуализируйте Dataframe с помощью Data Viewer и т. д.
  • Окружения: Автоматическая активация и переключение между окружениями virtualenv, venv, pipenv, conda и pyenv.
  • Рефакторинг: Переработайте код на Python с помощью приемов извлечения переменной, извлечения метода и сортировки импортов.


Посмотрите, как работает это расширение:



Скачать расширение Python

Python Snippets




Python Snippets это расширение, предоставляющее встроенные наборы сниппетов, которые были разработаны Ферхатом Ялчином (Ferhat Yaln). Этот плагин отлично подходит для всех, в том числе и для новичков.

Python Snippets содержит множество встроенных сниппетов, таких как string, list, sets, tuple, dictionary, class и другие.

Еще одно преимущество этого плагина: он предоставляет как минимум по одному примеру для каждого сниппета, что особенно актуально при изучении Python.

Скачать Python Snippets

Python Docstring Generator




Никто не будет сомневаться в важности ведения документации, но все мы понимаем, что иногда это может быть не самой приятной задачей. С Python Docstring Generator от разработчиков потребуется минимум усилий благодаря автоматическому созданию строк документации (docstrings).

Особенно круто, что это расширение следует всем стандартным форматам строк документации, включая Google, docBlockr, Numpy, Sphinx и PEP0257).

Кроме того, этот генератор строк документации поддерживает args, kwargs, decorators, errors и типы параметров, отображая их как многострочный комментарий.

Просто посмотрите на это:



Скачать Python Docstring Generator

Python Test Explorer для Visual Studio Code




Расширение Python Test Explorer позволяет запускать тесты Python unittest или Pytest с помощью Test Explorer UI. Этот небольшой и удобный инструмент с отличным пользовательским интерфейсом и возможностями отладки позволит протестировать ваш код прямо из VS Code.

Каждый осознает важность модульного тестирования, поэтому наличие такого инструмента в IDE или редакторе кода просто необходимо.



Скачать Python Test Explorer

Python Preview




Python Preview это расширение, которое включает визуальную отладку в ваш код на Python. Оно превращает процесс отладки кода в интерактивное действие с анимацией и графическими элементами для представления состояния вашего приложения.

Вы должны это увидеть:



Скачать Python Preview

Python Type Hint




Да, в Python есть что-то вроде типов (Types). И да, это круто! Type Hints для Python как TypeScript для JavaScript. Это расширение полностью меняет правила игры. Надеюсь, что мы будем видеть его всё чаще в руководствах и реализации. Python Type Hint предоставляет подсказки автодополнения для встроенных и предполагаемых типов и модуля typing.

Более того, оно может искать Python-файлы в рабочей области для прогнозирования и определения типа.



Скачать Python Type Hint

Jupyter




Jupyter одно из моих любимых расширений VS Code. Да, это как раз то, о чем вы подумали, Jupyter Notebooks в VS Code.

Я тот человек, который всегда работает с Jupyter Notebooks, это расширение действительно полезно. И я считаю, что мне еще многое в нем предстоит изучить.

Интеграция с Jupyter Notebooks одна из моих любимых функций в PyCharm, и, честно говоря, интеграция в PyCharm мне нравится больше, чем интеграция в VS Code. Однако Jupyter для VS Code бесплатно, а интеграция с PyCharm доступна только в профессиональной версии.

Скачать Jupyter

Вывод


VS Code меня приятно удивил! Это надежный инструмент для быстрого, гибкого кодинга с расширенной функциональностью.

Забавно, что все перечисленные расширения являются моими любимыми функциями в PyCharm, но в VS Code они бесплатны, но при этом такие же удобные.

Некоторые нюансы в редакторе VS Code меня беспокоят, поэтому я по-прежнему выбираю PyCharm. Однако с появлением таких качественных расширений VS Code я понимаю, что оправдать стоимость PyCharm будет всё сложнее.

Спасибо за внимание!
Подробнее..

Визуализация данных при отладке в Visual Studio Code

01.09.2020 12:04:25 | Автор: admin


Вообще Debugger Visualizers для обычного Visual Studio это очень старая тема (статья 2009 года), но не очень популярная. В большинстве случаев принято учить сразу дебажить, представляя процессы в голове, а штуки вроде сортировок и списков показываются на доске. В вебе часто визуальную часть предоставляет браузер, и все всем довольны. Но бывает, что списки или деревья в голове уже не умещаются, таблицы хочется отсортировать, а графики строить не выходя из среды отладки. Для всего этого и был создан плагин для VS Code Debug Visualizer.


Что он умеет рисовать?


  • Массивы и матрицы


  • Графы через VisJS и Graphviz




  • Блок-схемы


  • Деревья и AST




  • Таблицы


  • Графики через Plotly


  • Рендер SVG, текста и PNG


Приятные плюшки многие инструменты анимированы, позволяя отслеживать изменения в динамике. Каждый из них доступен для отдельной установки, без мастер-плагина. Наследуются они из фреймворка Visualization того же автора, в который можно контрибьютить отдельно от плагина.

Поддерживаемые языки
  • Полная поддержка JS и TS
  • Частичная поддержка Go, Python, C#, PHP, Java, C++, Swift и Rust.
    Очевидно, большинство из них находится в статусе доступно для реализации энтузиастами, но вот питоном, Go и C# уже точно занялись.


Побробовать демки можно здесь, плагин доступен в VS Code или по ссылке. После установки плагин доступен по команде Debug Visualizer: New View. Выделенный фрагмент можно передать аргументом командой Debug Visualizer: Use Selection as Expression (Shift + F1).

Так как debug-visualizer работает на библиотеке node-reload, он позволяет работу в режиме hot-reload:



Удачной отладки!
Ссылки:
Github
Автор
Демо
Маркетплейс VS Code



На правах рекламы


Серверы для разработки и размещения ваших проектов это про наши эпичные! Все серверы из коробки защищены от DDoS-атак, скорость интернет-канала 500 Мегабит, автоматическая установка удобной панели управления VestaCP для размещения сайтов и даже автоматическая установка Windows Server на тарифах с 2 ГБ ОЗУ или выше. Лучше один раз попробовать ;)

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru