Какие языки поддерживает код Visual Studio

Обновлено: 04.07.2024

Visual Studio Code — это бесплатный, легкий и мощный редактор кода для Windows, Mac и Linux, основанный на Electron/Chromium. Он имеет встроенную поддержку JavaScript, TypeScript и Node.js, а также богатую экосистему расширений, которая добавляет IntelliSense, отладку, подсветку синтаксиса и т. д. для многих языков (C++, Python, Go, Java). Работает без особых настроек. Начните здесь.

Это НЕ полноценная IDE, как Visual Studio. Это два совершенно разных продукта. Единственное сходство с Visual Studio заключается в том, что обе они принадлежат Microsoft.

Вот что работает хорошо:

  • Редактирование кода работает хорошо, особенно когда вы привыкли к сочетаниям клавиш. VS Code очень быстро реагирует и может обрабатывать даже большие базы кода, такие как Chromium.
  • Интеграция с Git — это просто взрыв. Встроенный параллельный просмотр, локальная фиксация и даже расширения для просмотра истории и вины. работает хорошо, даже несмотря на то, что время запуска может быть довольно большим (~ 40 секунд с gdb в Linux, намного меньше в Windows). Вы можете выполнять код пошагово, проверять переменные, просматривать стеки вызовов для нескольких потоков и т. д.
    • Дополнительную информацию об отладке кода Python см. здесь.

    Содержание

    Обновление этой страницы

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

    Все пути к файлам и команды были протестированы в Linux. Для Windows и Mac может потребоваться немного другая настройка (например, Ctrl -> Cmd ). Пожалуйста, обновите эту страницу соответствующим образом.

    Настройка

    Установка

    Исправления известных проблем

    Git для Windows

    Если на вашем компьютере установлен только depot_tools Git, даже если он находится в вашем PATH, VS Code проигнорирует его, поскольку он ищет git.exe . Чтобы интеграция с Git работала, вам нужно будет добавить в настройки следующее:

    Полезные расширения

    До сих пор у вас была базовая версия VS Code без особой языковой поддержки. Далее мы установим несколько полезных расширений. Перейдите в окно расширений ( Ctrl+Shift+X ) и установите эти расширения, скорее всего, вы будете использовать их каждый день:

    • C/C++ — форматирование кода, отладка, Intellisense. Позволяет использовать формат clang (через параметр C_Cpp.clang_format_path) и формат при сохранении (через параметр editor.formatOnSave).
    • Python – Linting, intellisense, форматирование кода, рефакторинг, отладка, фрагменты кода.
    • Переключить заголовок/источник — переключение между .cc и .h с помощью F4 . Расширение C/C++ также поддерживает это с помощью сочетания клавиш Alt+O, но иногда выбирает неправильный файл, когда в рабочей области есть несколько файлов с одинаковым именем.
    • Поддержка Protobuf — подсветка синтаксиса для файлов .proto. - Подсветка синтаксиса и языковой сервер для файлов .mojom.
    • vscode-clangd — если вы не планируете использовать VSCode для отладки, vscode-clangd — отличная альтернатива C/C++ IntelliSense. Он знает, как компилировать Chromium, что позволяет ему обеспечивать более интеллектуальное автозаполнение, чем C/C++ IntelliSense, а также позволяет переходить от функций к их определениям. См. clangd.md для получения инструкций по установке. Если вам нужно выполнить отладку, включите расширение C/C++, но отключите «C_Cpp: Intelli Sense Engine» и перезапустите VSCode.
    • Перематывать – перенос строк длиной 80 символов с помощью клавиш Alt + Q .
    • Удаленное — удаленное подключение к рабочей станции через SSH с помощью ноутбука. Дополнительную информацию о том, как это настроить, см. в разделе "Удаленный доступ".

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

    • Аннотатор – представление Git по обвинению.
    • История Git (журнал git) – просмотр истории Git.
    • chromium-codesearch — только для Mac и Linux: добавлена ​​возможность открывать текущую строку в Chromium Code Search. Все остальные функции устарели, поэтому в настоящее время их полезность ограничена.
    • change-case — быстро изменить регистр текущего выделения или текущего слова.
    • Мгновенная уценка. Предварительный просмотр мгновенной уценки (.md) в браузере по мере ввода текста. Этот документ был написан с этим расширением!

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

    Цветовая схема

    Нажмите Ctrl+Shift+P, цвет, Enter, чтобы выбрать цветовую схему для редактора. Кроме того, на торговой площадке можно загрузить множество цветовых схем.

    Советы по использованию

    • Ctrl+P открывает окно поиска для поиска и открытия файла.
    • F1 или Ctrl+Shift+P открывает окно поиска для поиска команды (например, Задачи: Выполнить задачу).
    • Ctrl+K, Ctrl+S открывает редактор привязок клавиш.
    • Ctrl+` включает встроенный терминал.
    • Ctrl+Shift+M переключает представление проблем (предупреждения линтера, ошибки компиляции и предупреждения). Во время компиляции вы будете часто переключаться между терминалом и представлением задачи.
    • Alt+O переключает между исходным/заголовочным файлом.
    • Ctrl+G — переход к строке.
    • F12 позволяет перейти к определению символа в месте курсора (также доступно в контекстном меню, вызываемом правой кнопкой мыши).
    • Shift + F12 или F1, CodeSearchReferences, Return показывает все ссылки символа на курсор.
    • F1, CodeSearchOpen, Return открывает текущий файл в поиске кода.
    • Ctrl+D выделяет слово рядом с курсором. Нажатие этой кнопки несколько раз выделяет несколько следующих вхождений, поэтому ввод одного вводит их все, а сочетание клавиш Ctrl+U отменяет выбор последнего вхождения.
    • Ctrl+K, Z входит в режим Zen, полноэкранный режим редактирования, в котором не видно ничего, кроме текущего редактора.
    • Ctrl+X, если ничего не выбрано, обрезает текущую строку. Ctrl+V вставляет строку.

    Поддержка Java/Android

    Прежде всего добавьте их в файл settings.json.

    Затем установите расширение «Поддержка языков для Java». Если вы установили его до установки вышеуказанных конфигов, удалите, удалите папку (см. следующий раздел) и переустановите. Вам также не нужны никакие остальные расширения в «Пакете расширений для Java».

    Настройка автозавершения кода/поиска ссылок/и т. д.

    Вам потребуется создать файл-заполнитель .classpath и найти его. Чтобы сгенерировать его, щелкните правой кнопкой мыши любую исходную папку Java на левой панели и выберите «Добавить папку в исходный путь Java». Его расположение будет зависеть от того, занимаетесь ли вы локальной или удаленной разработкой. Локальный путь в Linux будет выглядеть примерно так:

    Вы можете найти несколько папок при поиске

    <р>. Выберите что угодно, кроме jdt.ls-java-project. Если вы видите только jdt.ls-java-project , попробуйте снова использовать параметр «Добавить папку в исходный путь java».

    При удаленной разработке файл будет находиться в папке ~/.vscode-server/ на удаленном компьютере.

    Вам нужно будет заменить все содержимое этого файла содержимым tools/android/eclipse/.classpath (внешнего) или clank/development/ide/eclipse/.classpath (сгенерированного gclient runhooks для разработчиков Chrome). ), а затем замените некоторые пути, поскольку vscode интерпретирует некоторые пути иначе, чем eclipse.

    • Заменить: kind="src" код пути">kind="src" код пути">
    • сторонний_участник/android_protobuf/src/java/src/main/java
    • сторонняя_сторона/junit/src/src/main/java

    Кроме того, убедитесь, что export ANDROID_HOME=/usr/local/google/home//Android/Sdk находится в папке ~/.bashrc удаленного компьютера.

    Затем перезапустите vscode, откройте файл Java и немного подождите.

    • Щелкнув правой кнопкой мыши на папке в vscode и выбрав «Добавить папку в исходный путь java», вы получите ошибку, если в вашем пути к классам есть проблемы с синтаксисом. (Не используйте это, на самом деле добавляйте новые пути к вашему пути к классам, так как это не будет работать правильно)
      • Если синтаксических ошибок нет, убедитесь, что используется правильный файл .classpath, проверив, действительно ли папка была добавлена ​​в редактируемый вами файл .classpath.

      Настройка Chromium

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

      Настройки рабочего пространства

      Откройте файл //tools/vscode/settings.json5 и проверьте там настройки по умолчанию. Не стесняйтесь зафиксировать добавленные или удаленные настройки, чтобы улучшить командную разработку, или изменить настройки локально в соответствии с личными предпочтениями. Не забудьте заменить! Чтобы использовать эти настройки оптом, введите следующие команды в свой терминал, находясь в каталоге src:

      Примечание. Эти настройки предполагают, что папка рабочей области (корневая папка, отображаемая на вкладке «Проводник») — это каталог src/ Chromium. Если это не так, замените все ссылки на $ на путь к вашему src/ .

      Задачи

      Далее мы расскажем VS Code, как компилировать наш код, запускать тесты и читать предупреждения и ошибки из выходных данных сборки. Откройте файл //tools/vscode/tasks.json5. Это предоставит задачи для выполнения основных вещей. Возможно, вам придется настроить команды в соответствии с вашей ситуацией и потребностями. Чтобы использовать эти настройки оптом, введите в терминал следующую команду:

      Команды запуска

      Команды запуска аналогичны F5 в Visual Studio: они запускают какую-либо программу или отладчик. При желании они могут запустить какую-либо задачу, определенную в tasks.json. Команды запуска можно запускать из представления отладки ( Ctrl+Shift+D ). Откройте файл по адресу //tools/vscode/launch.json5 и настройте примеры команд запуска в соответствии со своей ситуацией и потребностями (например, значение «type» требует корректировки для Windows). Чтобы использовать эти настройки оптом, введите в терминал следующую команду:

      Привязки клавиш

      Чтобы изменить привязку клавиш, нажмите Ctrl+K, Ctrl+S .Слева вы увидите значения по умолчанию, а справа ваши переопределения, сохраненные в файле keybindings.json. Чтобы изменить привязку клавиш, скопируйте соответствующую привязку справа. Это довольно очевидно.

      К клавише можно привязать любую команду, даже команды, заданные расширениями, такими как CodeSearchOpen . Например, чтобы привязать CodeSearchOpen к F2, просто добавьте < "key": "F2", "command": "cs.open" >, . Обратите внимание, что название команды CodeSearchOpen не будет работать. Вы должны получить фактическое имя команды из файла package.json расширения.

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

      Некоторые привязки клавиш, которые могут вам пригодиться, доступны по адресу //tools/vscode/keybindings.json5. Пожалуйста, ознакомьтесь с ними и настройте их в соответствии со своей ситуацией и потребностями. Чтобы использовать эти настройки оптом, введите в терминал следующую команду:

      Удаленное

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

      Чтобы это запустить, установите расширение пакета Remote, а затем убедитесь, что в файле конфигурации ssh есть удаленное подключение:

      VSCode отобразит это подключение в разделе «Удаленный проводник» слева. Чтобы запустить VSCode с этим подключением, щелкните значок «+ окно» рядом с указанным именем хоста. Вы выбираете папку — используйте корень папки «src». Это откроет новое окно VSCode в «Удаленном» режиме. Теперь вы можете устанавливать расширения специально для удаленного подключения, например vscode-clangd и т. д.

      Chromebook

      Специальные инструкции Google по настройке удаленной разработки на устройствах Chromebook без использования Crostini для сотрудников Google.

      Windows и SSH

      Для удаленных инструментов VSCode требуется sshd, который по умолчанию не установлен в Windows.

      Пользователи, не являющиеся пользователями Google, могут следовать инструкциям Microsoft по установке сервера OpenSSH. VSCode должен работать удаленно после выполнения этого шага.

      Фрагменты

      В //tools/vscode/cpp.json5 есть несколько полезных фрагментов кода.

      Вы можете установить их либо в свой профиль пользователя (путь может различаться в зависимости от платформы):

      Или установите их как фрагменты проекта:

      Исходящая папка

      Автоматически сгенерированный код помещается во вложенную папку out/, что означает, что эти файлы игнорируются VS Code (см. files.exclude выше) и не могут быть открыты, например. из быстрого открытия ( Ctrl+P ). Начиная с версии 1.21, VS Code не поддерживает команды с инвертированным глобусом, но вы можете определить набор шаблонов исключения, чтобы включить только out/Debug/gen:

      После этого вы можете использовать

      в files.exclude вместо символической ссылки.

      Использование VS Code в качестве редактора git

      Добавьте [core] editor = "code --wait" в файл ~/.gitconfig, чтобы использовать VS Code в качестве редактора для сообщений git commit и т. д. Обратите внимание, что редактор запускается значительно медленнее, чем nano или vim. Чтобы использовать VS Code в качестве инструмента слияния, добавьте [merge] tool = code .

      Имена задач

      Обратите внимание, что мы назвали задачи 1-build_chrome_debug , 2-build_chrome_release и т. д. Это позволяет вам быстро выполнять задачи, нажимая их номер: нажмите Ctrl+P и введите task , где номер задачи. Вы также можете создать сочетание клавиш для запуска задачи. Файл > Настройки > Сочетания клавиш и добавьте < "key": "ctrl+r", "command": "workbench.action.tasks.runTask", "when": "!inDebugMode" >. Тогда достаточно нажать Ctrl+R и ввести .

      Работа на ноутбуке

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

      Редактирование в нескольких репозиториях Git

      Если вы часто работаете с несколькими репозиториями Git, которые являются частью репозитория Chromium, вы можете обнаружить, что встроенный инструментарий не работает должным образом для файлов, находящихся в папках, которые являются частью файла .gitignore, зарегистрированного в Хром.

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

      Чтобы изменить это, перейдите в «Настройки» -> выберите вкладку «Рабочее пространство» и выберите открытие в формате JSON (кнопка в правом верхнем углу) и настройте папки следующим образом (измените пути в соответствии с вашими локальными настройками и использованием):

      Невозможно открыть ресурс $File, он недоступен при отладке Chromium в Linux

      Chromium недавно изменил путь к файлу относительно выходного каталога. Проверьте gn args out/$dir --list, если значение strip_absolute_paths_from_debug_symbols равно true (значение по умолчанию), установите cwd в выходной каталог. в противном случае установите cwd в $ .

      Вы-дополняете-меня

      Расширение You-Complete-Me VS Code устарело, и предлагается использовать clangd.

      В Visual Studio Code мы поддерживаем почти все основные языки программирования. Некоторые поставляются в комплекте, например JavaScript, TypeScript, CSS и HTML, но более богатые языковые расширения можно найти в VS Code Marketplace.

      Вот восемь самых популярных языковых расширений:

      Перейдите в Marketplace или воспользуйтесь интегрированным представлением расширений и найдите нужный язык программирования, чтобы найти фрагменты кода, автодополнение кода/поставщики IntelliSense, линтеры, отладчики и многое другое.

      Примечание. Если вы хотите изменить язык отображения VS Code (например, на китайский), см. раздел "Язык отображения".

      Документация по конкретному языку

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

      Языковые возможности в VS Code

      Объем поддержки зависит от языков и их расширений:

      • Подсветка синтаксиса и сопоставление квадратных скобок
      • Умное завершение (IntelliSense)
      • Линтинг и исправления
      • Навигация по коду (перейти к определению, найти все ссылки)
      • Отладка
      • Рефакторинг

      Изменение языка для выбранного файла

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

      Выбор языка
      < /p>

      Совет. Вы можете получить такое же раскрывающееся меню, выполнив команду «Изменить языковой режим» ( ⌘K M (Windows, Linux Ctrl+K M )).

      Идентификатор языка

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

      Идентификатор языка часто (но не всегда) представляет собой название языка программирования в нижнем регистре. Обратите внимание, что регистр имеет значение для точного совпадения идентификаторов ('Markdown'!= 'markdown'). Неизвестные языковые файлы имеют открытый текст идентификатора языка .

      Список установленных в данный момент языков и их идентификаторов можно увидеть в раскрывающемся списке Режим изменения языка ( ⌘K M (Windows, Linux Ctrl+K M )).

      идентификаторы языков

      Список известных идентификаторов можно найти в справочнике по языковым идентификаторам.

      Добавление расширения файла к языку

      Вы можете добавить новые расширения файлов к существующему языку с помощью параметра files.associations.

      Например, приведенный ниже параметр добавляет расширение файла .myphp к идентификатору языка php:

      IntelliSense ( ⌃Space (Windows, Linux Ctrl+Space) ) покажет вам доступные языковые идентификаторы.

      Идентификатор языка IntelliSense

      Дальнейшие шаги

      Теперь вы знаете, что VS Code поддерживает нужные вам языки. Читайте дальше.

        - Peek and Go to Definition и многое другое - вот где VS Code действительно сияет

      Частые вопросы

      Могу ли я внести свой собственный языковой сервис?

      Да, можно! Посмотрите пример языкового сервера в документации по VS Code Extension API.

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

      Да, вы также можете добавить поддержку своего любимого языка с помощью раскраски TextMate. См. Руководство по выделению синтаксиса в разделе Extension API, чтобы узнать, как интегрировать файлы синтаксиса TextMate .tmLanguage в VS Code.

      Можно ли сопоставить дополнительные расширения файлов с языком?

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

      Вот пример, который свяжет дополнительные расширения файлов с языком PHP:

      При необходимости вы также можете настроить полные пути к файлам для языков. В следующем примере все файлы в какой-либо папке связываются с PHP:

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

      TL; Аварийное восстановление — использование Visual Studio Code продолжает расти во многих языковых сообществах, в том числе в некоторых неожиданных.

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

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


      Однако другие языки действительно привлекают ваше внимание. От Python до Go, Rust и PHP — значительное число разработчиков используют расширения в Visual Studio Code. Мы изучили количество загрузок для некоторых наиболее релевантных языков в рейтинге языков программирования RedMonk.

      Конкретные расширения, которые мы рассмотрели,

      Python и Go выделяются здесь по нескольким причинам. Go — это язык, который нашел свое место среди системных программистов и теперь становится основным продуктом микросервисов в некоторых организациях. Python, широко используемый в самых разных местах, стал одним из языков де-факто в науке о данных, вторым является R. Оба языка тесно связаны с Linux и, в силу этого факта, тесно связаны с такими редакторами, как вим.

      В целом Visual Studio демонстрирует значительный прогресс в различных областях. Количество загрузок расширений в качестве прокси для принятия — это приблизительный показатель, но трудно возразить против их значительного внедрения, когда мы видим цифры в 2,1 миллиона загрузок для относительно редко обновляемой части программного обеспечения.

      Отказ от ответственности: Microsoft и Red Hat являются текущими клиентами RedMonk.

      Примечание: на личном уровне я медленно, но верно перехожу от vim к редактору кода, и в настоящее время предпочтительным редактором является Visual Studio Code (наряду с RStudio для R). Переход к редактору был процессом урывками на протяжении многих лет, хотя я всегда использовал IDE для Java. Моя собственная установка Visual Studio Code включает расширения для Python, Go, PHP и Docker.


      Меня интересуют языки и инструменты, над которыми вы работаете с помощью VSCode, и я хочу знать, насколько зрелым является VSCode для работы с этим языком. Со своей стороны я делаю TypeScript, JavaScript с использованием VSCode и пока мне это нравится. Множество полезных расширений и хорошая гибкость. Поделитесь своим опытом, пожалуйста.


      Поддержка C++ довольно хороша. Если вы используете cmake, есть отличные расширения, для других проектов есть несколько «хороших» расширений. Вы можете без особых усилий выполнять отладку, завершение кода, статический анализ, навигацию по коду.

      Расширение cmake действительно делает C++ пригодным для использования в vscode, я сомневаюсь, что мне нужна установка для проектов, отличных от cmake

      Приятно это слышать. Я не думаю, что VSCode станет универсальным редактором, но то, что он может работать с популярными языками/инструментами, меня радует.

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

      некоторые функции версии vs2017, такие как сильная поддержка venv и git

      можете уточнить?

      Я думал, что интегрированная поддержка git и расширение gitLens охватывают большую часть этого. Какую поддержку venv предлагает VSCode 2017?

      Лично я сталкиваюсь с множеством проблем с Python в vscode. В нем гораздо больше ошибок, его сложнее настраивать (вы не можете серьезно перейти к модулям pip по умолчанию?), И его интеллект хуже, чем у Pycharm.

      <р>. С другой стороны, отладка django выполняется намного быстрее с vscode/python в Windows, чем с Pycharm, так что это довольно приятно.

      Использую VScode уже неделю, и получить тот же опыт, что и ISE, было непросто. Сегодня я узнал, что CLS не очищает экран терминала, и мне нужно было назначить его в качестве пользовательского сочетания клавиш. Вывод до сих пор, что это работает, но мне нужно больше летных часов, чтобы набрать скорость, как я с ISE.

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

      Читайте также: