Visual studio code: мощное руководство пользователя

Assisted IntelliSense – C#


IntelliCode saves you time by putting what you’re most likely to use at the top of your completion list. IntelliCode recommendations are based on thousands of open source projects on GitHub each with over 100 stars. When combined with the context of your code, the completion list is tailored to promote common practices.

IntelliCode isn’t limited to statement completion. Signature help also recommends the most likely overload for your context.

Team Completions (Preview – C#)

IntelliCode can provide recommendations based on your code and seamlessly share them across your team. With this preview feature, you can build a team model to provide recommendations on code that isn’t in the open source domain, such as methods on your own utility classes or domain specific library calls. Integrate our build task into your pipeline to keep your team completions up to date with repository changes.

Argument Completion (Preview)

In addition to statement completion signature help, IntelliCode also makes argument recommendations to help you choose the right argument quickly.

Inferring code style and formatting conventions (Preview)

Keep your code consistent easily with Visual Studio IntelliCode, which dynamically creates an .editorconfig file from your codebase to define coding styles and formats.

Note: All Preview features are off by default and can be enabled through the Tools > Options > IntelliCode page.

This feature comes installed by default with any workload that supports C#, C++, TypeScipt/JavaScript, or XAML in Visual Studio 2019 Version 16.1

Assisted IntelliSense – SQL Server

IntelliCode saves you time by putting what you’re most likely to use at the top of your completion list. IntelliCode recommendations are based on thousands of open source projects on GitHub each with over 100 stars. When combined with the context of your code, the completion list is tailored to promote common practices.

IntelliCode works well with T-SQL queries by providing smart suggestions depending on the construction of the query, and then placing those suggestions at the top of your IntelliSense as you type.

This feature works seamlessly for SQL Server when installed with the mssql extension (1.7.0) for Visual Studio Code.”

Assisted IntelliSense – C++

IntelliCode saves you time by putting what you’re most likely to use at the top of your completion list. IntelliCode recommendations are based on thousands of open source projects on GitHub each with over 100 stars. When combined with the context of your code, the completion list is tailored to promote common practices.

When writing C++, IntelliCode will assist when using popular libraries such as STL . The context of your code is used to provide the most useful recommendations first. For example, when using std::string within a while-loop, the substr method is surfaced to the top.

Team Completions (Preview – C++)

IntelliCode can provide recommendations based on your code and seamlessly share them across your team. With this preview feature, you can build a team model for completions to provide recommendations on code that isn’t in the open source domain, such as methods on your own utility classes or domain specific library calls. When you enable automatic acquisition of team models, you can also seamlessly share your team model with anyone else working in that repository.

Note: Team models are off-by-default and must be enabled via Tools > Options > C++ team models for completions.

This feature comes installed by default with any workload that supports C#, C++, TypeScipt/JavaScript, or XAML in Visual Studio 2019 Version 16.1.

Контроль версий с помощью Git

Visual Studio Code поставляется со встроенным менеджером контроля версий Git. Он предоставляет пользовательский интерфейс, где вы можете комментировать, фиксировать, создавать новые ветви и переключаться на существующие. Давайте передадим изменения, которые мы только что сделали в нашем проекте. На панели действий откройте панель управления источником и найдите кнопку «Stage All Changes plus», как показано ниже.

Нажмите здесь. Затем введите сообщение фиксации «Installed next.js dependencies», а затем нажмите кнопку Commit в верхней части. Имеет значок галочки. Это передаст новые изменения. Если вы посмотрите на статус, расположенный внизу, вы увидите различные значки статуса в левом углу. означает, что из удаленного репозитория нечего вытаскивать.  означает, что у вас есть один коммит, который вам нужно отправить на удаленное репо. При нажатии на него отобразится подсказка о действии. Нажмите OK для и . Это должно синхронизировать ваше локальное репо с удаленным репо.

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


Проверьте следующие расширения для еще лучшего опыта работы с Git:

  1. Git Lens
  2. Git History

Поддержка другого типа SCM, такого как SVN, может быть добавлена ​​путем установки соответствующего расширения SCM с рынка.

Assisted IntelliSense – Python

IntelliCode saves you time by putting what you’re most likely to use at the top of your completion list. IntelliCode recommendations are based on thousands of open source projects on GitHub each with over 100 stars. When combined with the context of your code, the completion list is tailored to promote common practices.

IntelliCode will make you more productive with a wide range of Python packages, whether you’re doing simple scripting with os or sys modules, building websites with Django or Flask, or working with data science modules such as numpy and tensorflow.

This feature is available as a Visual Studio Code October 2018 Release 1.29 extension.

Расширения VS Code для улучшения стиля

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

1.Prettier — инструмент для форматирования кода 

Сначала я хотел внести Prettier в список расширений для продуктивности, но так как он связан со стилем, расскажу о нем здесь. 

До сих пор существует противостояние, известное как “табуляция против пробелов” (и я вообще не понимаю тех, кто использует 8 пробелов), и вам, возможно, приходится преобразовывать одно в другое, но данное расширение возьмет на себя задачу добавления/удаления пробелов в коде.

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

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

2. Rainbow Brackets

Не такое уж полезное расширение (к сожалению), но ведь скобки разных цветов выглядят бесподобно. ( ͡° ͜ʖ ͡°)

В вашем распоряжении все цвета радуги для круглых, квадратных и фигурных скобок. Rainbow Brackets может пригодится программистам Lisp, Clojure, JavaScript и многим другим. 

3. Snazzy Operator

Вот он мой любимчик, хотя вы можете подумать, что это одна из тем VS Code. 

Snazzy Operator требует предварительной установки шрифта Operator Mono. 

4. vscode-styled-components

И наконец, последний в списке — vscode-styled-components, удивительный плагин для выделения синтаксиса и автозавершения. 

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

Неужели не заметили? Тогда даю подсказку — посмотрите на терминал: 

Если вы из числа пользователей Linux или Mac, то для вас это не ново, но для всех моих друзей, работающих в Windows, это стало открытием, не так ли? 

Главным образом я использую тему “agnoster” фреймворка Oh-My-Zsh на WSL. Более подробную информацию о них вы можете найти в Google.

Надеюсь, чтение было полезным! 

  • VSCode. 27 расширений для JavaScript разработчика
  • Как настроить Visual Studio Code для C, C++, Java, Python
  • 10 рекомендаций по ускорению рабочего процесса в Visual Studio Code

Перевод статьи Madhav Bahl: VS Code extensions that make me fall in love with programming each day

Pyramid¶


См.также

Фреймворк Pyramid имеет несколько стартовых шаблонов, которые нужны для того, чтобы не начинать писать код с нуля. Рассмотрим как создать шаблон с БД sqlite + SQLAlchemy и настроить его в Visual Studio Code.

Для начала создадим директорию hello2 и виртуальное окружение hello2_env:

$ mkdir hello2
$ cd hello2/
$ pyvenv hello2_env
$ source hello2_env/bin/activate
$ pip install pyramid

См.также

После установки Pyramid, в окружении появляется команда . С ее помощью создадим проект по шаблону:

$ pcreate -t alchemy .
$ ls
CHANGES.txt  development.ini  hello2  hello2_env  MANIFEST.in  production.ini  pytest.ini  README.txt  setup.py

Устанавливаем его как Python пакет:

$ pip install -e .
$ pserve development.ini
Starting server in PID 17311.
Serving on http://localhost:6543

После запуска, становится доступен адрес http://localhost:6543

Но так-как БД еще не создана, отображается страница с подсказкой как ее инициализировать:

$ initialize_hello2_db development.ini

Теперь мы увидим стартовую страницу шаблона alchemy.

Проект на пирамиде запускается при помощи утилиты . Добавим конфигурацию для Pyramid в файл настроек , чтобы можно было запускать/отлаживать приложение из редактора:

{
    "version" "0.2.0",
    "configurations" [{
        "name" "Pyramid",
        "type" "python",
        "request" "launch",
        "stopOnEntry" true,
        "pythonPath" "${workspaceRoot}/hello2_env/bin/python",
        "program" "${workspaceRoot}/hello2_env/bin/pserve",
        "args" "${workspaceRoot}/development.ini"],
        "debugOptions" 
            "WaitOnNormalExit",
            "RedirectOutput"
    }]
}

Попробуем запустить:

Поставим точку останова в функции в файле .

Настраиваем внешний вид редактора

Итак, мы уже установили VS Code и несколько расширений. Теперь мы готовы настраивать среду разработки. Я создал шаблон для спортивного программирования в VS Code и загрузил его в свой профиль на Github.

Перейдите по этой ссылке и загрузите шаблон себе на компьютер. Распакуйте его в любое место по вашему выбору. После этого откройте получившуюся папку в VS Code. Вы должны увидеть что-то вроде этого:

Пройдитесь по файлам main.cpp, Main.java и main.py и посмотрите на записанный в них образец кода. По сути, шаблонный код, предоставленный в образцах для каждого из этих трех языков, принимает входящие данные из файла input.txt и обеспечивает вывод в файл output.txt. Для каждой программистской задачи, которую вы хотите решить, просто создайте копию этого шаблона и напишите свой код в функции solve().

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

  • Откройте файлы в следующем порядке: main.cpp, input.txt, output.txt. Порядок, в каком были открыты файлы, можно видеть сверху на панели инструментов. Убедитесь, что порядок именно такой, как указано выше.
  • Откройте input.txt. Выберите в меню View -> Editor Layout -> Split Right. Вы должны увидеть что-то подобное:

У вас получится две группы. Перетащите output.txt из левой группы в правую. Закройте тот input.txt, что остался слева. Должно выйти примерно так:

Далее откройте output.txt в правой группе. Выберите View -> Editor Layout -> Split Down. Уберите output.txt из верхней группы. После этого вы увидите:

Готово! Мы настроили внешний вид редактора. А теперь давайте запускать код.

Настройки пользователя и рабочей области

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

  1. В Windows / Linux — File > Preferences > Settings
  2. В macOS — Code > Preferences > Settings

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

При изменении настроек с помощью редактора обратите внимание на активную область сверху. Обратите внимание, что не все настройки можно настроить через графический интерфейс. Для этого вам нужно отредактировать файл напрямую . Прокручивая редактор настроек, вы увидите ярлык, который приведет вас к этому файлу. Параметры кода Visual Studio подразделяются на две разные области:

Параметры кода Visual Studio подразделяются на две разные области:

  1. Настройки пользователя: настройки хранятся под учетной записью пользователя. Они будут действовать на все проекты, над которыми вы работаете.
  2. Рабочая область: настройки хранятся в папке проекта или рабочей области. Они будут применяться только в этом конкретном проекте.

В зависимости от вашей платформы вы можете найти пользовательские настройки VS Code в следующих местах:

  1. Windows: 
  2. macOS: 
  3. Linux: 

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

Я склонен работать с несколькими проектами одновременно, поэтому настройка  позволяет открывать новые папки проектов, не закрывая (не заменяя) активную. Для , я поставил Prettier, который является расширением. Далее давайте посмотрим на языковые ассоциации.

Импорт пространства именImport a namespace


Фрагмент кода можно использовать для добавления директивы (C#) или оператора (Visual Basic), включив .You can use a code snippet to add a directive (C#) or statement (Visual Basic) by including the . Для проектов .NET Framework вы можете добавить ссылку на проект с помощью .For .NET Framework projects, you can also add a reference to the project by using the .

Ниже приведен фрагмент XML-кода, который использует метод в пространстве имен System.IO и, таким образом, определяет элемент Imports для импорта пространства имен System.IO.The following XML shows a code snippet that uses the method in the System.IO namespace and, therefore, defines the Imports element to import the System.IO namespace.

Немного истории

Если вы новичок в программировании, я рекомендую вам начать с простого текстового редактора, такого как Windows NotePad. Это самый простой текстовый редактор, который не предлагает никакой помощи. Основным преимуществом его использования является то, что он заставляет вас запоминать синтаксис языка и делать свои собственные отступы. Как только вы освоитесь с написанием кода, следующим логическим шагом будет обновление до более качественного текстового редактора, такого как NotePad++ . Он предлагает немного важной помощи при кодировании с такими функциями, как раскраска синтаксиса, автоматическое отступление и базовое автозаполнение. При обучении программированию важно не перегружаться информацией и помощью. Как только вы привыкли к лучшему опыту написания кода, пришло время обновиться. Не так давно это были полностью интегрированные среды разработки:

Как только вы привыкли к лучшему опыту написания кода, пришло время обновиться. Не так давно это были полностью интегрированные среды разработки:

  1. Visual Studio IDE
  2. NetBeans
  3. Eclipse
  4. IntelliJ IDEA

Эти платформы обеспечивают полный рабочий процесс разработки, от написания кода до тестирования и развертывания. Они содержат множество полезных функций, таких как анализ кода и выделение ошибок. Они также содержат гораздо больше функций, которые многие разработчики не использовали, хотя они были необходимы для некоторых команд. В результате эти платформы заняли много места на диске и не запустились. Многие разработчики предпочитали использовать передовые текстовые редакторы, такие как emacs и vim, для написания своего кода.

Вскоре появился новый набор независимых от платформы редакторов кода. Они были легкими и обеспечивали множество функций, которые были в основном эксклюзивными для IDE. Я перечислил их ниже в порядке их выпуска:

  1. Sublime Text: июль 2013
  2. Atom.io: июнь 2015
  3. Visual Studio Code: апрель 2016

Разработчики Mac имели доступ к TextMate, который был выпущен в октябре 2004 года. Система фрагментов кода, используемая всеми вышеперечисленными редакторами, была основана на TextMate. Воспользовавшись всеми из них, я почувствовал, что появившийся после этого редактор значительно улучшил текущий. Согласно опросу разработчиков, проведенному  в 2019 году, Visual Studio Code является самой популярной средой разработки кода с 50,7% использования. Visual Studio IDE занимает второе место, а NotePad++ — третье.

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

September Release Summary

Welcome to the September release of VS Code. There are a number of significant updates in this version that we hope you will like, some of the key highlights include:

  • — Language improvements for and as well as .
  • — Keep your code looking great by running a formatter when you save.
  • — Move quickly between VS Code windows (instances) via the Command Palette.
  • — Easily reuse past search terms in the Search box.
  • — It’s now possible to launch an NPM script before debugging.
  • — Provide extension recommendations for other members of your team to use.
  • — It’s now possible to programmatically change settings. This allows new options like persistent and .
  • — Display line numbers relative to the current cursor position.
  • — An experimental extension is available to support the V8 Inspector Protocol.
  • — Bundle a set of extensions into a single download from the Marketplace.
  • — A new colorizer for TS/JS with over 200 fixes. We will include it in the next release.

The release notes are arranged in the following sections related to VS Code focus areas. Here are some further updates:

  • — View image dimensions & file size details.
  • — Unicode improvements to support UTF-16 surrogate pairs, Improvements to Whitespace settings.
  • — Updated TML/Razor/Handlebar support.
  • — Extension identifier badge, Extension update version check.
  • — Configurable External Terminal Support, Glob patterns for source maps.
  • — Debug protocol updates including programmatic access to launch.json.

Downloads: Windows | Mac | Linux 64-bit: .tar.gz .deb .rpm | Linux 32-bit: .tar.gz .deb .rpm

Miscellaneous

New location for dirty indicator when Tabs are disabled

We decided to move the dirty (unsaved file) indicator over to the Close button when Tabs (tabbed headers) are disabled. This makes the experience consistent with other places where we replace the Close button with the dirty indicator (for example, inside OPEN EDITORS or when Tabs are enabled).

Electron update

In this release, we decided to take a major update of the Electron framework. We now run with version 1.3.7 which brings big version increments to the Chrome rendering engine (from 49 to 52) and Node.js (from 5.10.0 to 6.5.0). This also means that all extensions can expect the full Node.js 6.5.0 runtime when running in this VS Code release. For a full list of changes in Node.js, please refer to the Node.js Changelog.

Detecting a corrupt installation

We have found ourselves spending many hours investigating VS Code issues that were ultimately caused by corrupt VS Code installations. Some extensions directly modify (patch) the VS Code product in such a way that is semi-permanent (until the next update) and this can cause hard to reproduce issues.

We have therefore added a background check where we try to detect if the VS Code bits have been changed on disk. We are not trying to block VS Code patching, but we want to raise awareness that patching VS Code means you are running an unsupported version.

Built-in Extensions

It is now possible to bundle a selection of Marketplace extensions with VS Code. These extensions appear as Built-in extensions. This allows us to decouple bundled extension development from VS Code’s core development.

Improvements in Issue Reporting

Related to this, we often investigate issues that are caused by an installed extension. To help us with these investigations, we have enriched the Help > Report Issues action to seed the issue description with the list of installed extensions.

Please use this action when reporting issues so we have more information to help track down the problem and ultimately resolve the issue for you quicker.

macOS Sierra support

Apple recently released the final version of macOS Sierra and with the Electron update, we were able to fix some issues we had seen (fonts and icons did not look sharp on a Retina display). However, some users are seeing bad background artifacts in the editor the underlying issue is Chrome related and it seems to happen when you are using a custom color profile. There is a workaround, you can run VS Code with forced GPU rasterization to mitigate this issue:

Параметры заменыReplacement parameters

Возможно, вам нужно предоставить пользователю возможность заменять части фрагмента кода.You may want parts of a code snippet to be replaced by the user. Например, может потребоваться, чтобы пользователь заменил имя переменной на используемое в текущем проекте.For example, you might want the user to replace a variable name with one in their current project. Возможны два типа замен: литералы и объекты.You can provide two types of replacements: literals and objects. используется для определения замещающего элемента для отрывка кода, который полностью заключен во фрагмент, но, скорее всего, будет изменен после вставки в код (например, строка или числовое значение).Use the to identify a replacement for a piece of code that is entirely contained within the snippet but will likely be customized after it’s inserted into the code (for example, a string or numeric value). используется для определения элемента, который необходим во фрагменте кода, но, скорее всего, будет определен вне самого фрагмента (например, экземпляр объекта или элемент управления).Use the to identify an item that’s required by the code snippet but is likely to be defined outside of the snippet itself (for example, an object instance or a control).

Чтобы пользователь мог легко заменить число, квадратный корень которого требуется вычислить, измените элемент Snippet в файле SquareRoot.snippet следующим образом:To enable the user to easily replace the number to calculate the square root of, modify the Snippet element of the SquareRoot.snippet file as follows:

Обратите внимание, что замещающему литералу назначен идентификатор ().Notice that the literal replacement is given an ID (). На этот идентификатор указывает ссылка в фрагменте кода путем заключения его в символы :That ID is referenced from within the code snippet by surrounding it with characters:

Сохраните файл фрагмента.Save the snippet file.

Откройте проект и вставьте фрагмент.Open a project and insert the snippet. После вставки фрагмента кода редактируемый литерал выделяется для замены.The code snippet is inserted and the editable literal is highlighted for replacement

Наведите указатель мыши на замещающий параметр, чтобы увидеть подсказку для значения.Hover over the replacement parameter to see the tooltip for the value.

Совет Если в фрагменте имеется несколько заменяемых параметров, можно нажать клавишу TAB, чтобы переходить от одного к другому для изменения значений.If there’s more than one replacable parameter in a snippet, you can press Tab to navigate from one to the other to change the values.


С этим читают