No Image

Visual studio как добавить язык программирования

СОДЕРЖАНИЕ
754 просмотров
10 марта 2020

Узнайте, каким образом редактор Visual Studio поддерживает возможности чтения и перемещения по разным языкам программирования и как можно добавить поддержку редактора Visual Studio для других языков. Learn about how the Visual Studio editor supports reading and navigating through different computer languages and how you can add Visual Studio editor support for other languages.

Раскраска синтаксиса, завершение операторов и поддержка функции "Перейти к" Syntax colorization, statement completion, and Navigate To support

Доступные в редакторе Visual Studio функции, такие как раскраска синтаксиса, завершение операторов (также известная как IntelliSense) и Перейти к, упрощают написание, чтение и редактирование кода. Features in the Visual Studio editor such as syntax colorization, statement completion (also known as IntelliSense), and Navigate To can help you more easily write, read, and edit your code. На следующем снимке экрана показан пример редактирования скрипта Perl в Visual Studio. The following screenshot shows an example of editing a Perl script in Visual Studio. Синтаксис автоматически выделяется цветом. The syntax is automatically colorized. Например, примечания в коде выделяются зеленым цветом, код — черным, пути — красным, операторы — синим. For example, remarks in the code are colored green, code is black, paths are red, and statements are blue. Редактор Visual Studio автоматически применяет цветовое выделение синтаксиса к любому поддерживаемому им языку. The Visual Studio editor automatically applies syntax colorization to any language it supports. Кроме того, по мере ввода известного ключевого слова или объекта функция завершения операторов выводит список возможных операторов и объектов. In addition, when you begin to enter a known language keyword or object, statement completion displays a list of possible statements and objects. Функция завершения операторов упрощает написание кода. Statement completion can help you write code more quickly and easily.

Сейчас Visual Studio поддерживает раскраску синтаксиса и завершение базовых операторов для следующих языков с помощью грамматик TextMate. Visual Studio currently provides syntax colorization and basic statement completion support for the following languages using TextMate Grammars. Если предпочитаемый вами язык отсутствует в таблице, —его можно добавить. If your favorite language isn’t in the table, though, don’t worry—you can add it.

Bat Bat F# F# Java Java Markdown Markdown Rust Rust Visual Basic Visual Basic
Clojure Clojure Go Go JavaDoc JavaDoc Objective-C Objective-C ShaderLab ShaderLab C# C#
CMake CMake Groovy Groovy JSON JSON Perl Perl ShellScript ShellScript Visual C++ Visual C++
CoffeeScript CoffeeScript HTML HTML LESS LESS Python Python SQL-код SQL VBNet VBNet
CSS CSS INI INI LUA LUA R R Swift Swift XML XML
Docker Docker Jade Jade Производитель Make Ruby Ruby TypeScript TypeScript YAML YAML
Читайте также:  Samsung galaxy tab s t705 lte

Помимо раскраски синтаксиса и завершения основных операторов в Visual Studio также имеется функция Перейти к. In addition to syntax colorization and basic statement completion, Visual Studio also has a feature called Navigate To. Она позволяет быстро выполнять поиск в файлах кода, путях к файлам и символах кода. This feature enables you to quickly search code files, file paths, and code symbols. Visual Studio предоставляет поддержку функции "Перейти к" для указанных далее языков. Visual Studio provides Navigate To support for the following languages.

Visual Basic Visual Basic

Все эти типы файлов имеют описанные ранее функции, даже если поддержка для данного языка еще не была установлена. All of these file types have the features described earlier even if support for a given language hasn’t yet been installed. Установка специальной поддержки для некоторых языков может обеспечить дополнительную поддержку, например IntelliSense и другие расширенные языковые функции, такие как лампочки. Installing specialized support for some languages may provide additional language support, such as IntelliSense or other advanced language features like light bulbs.

Добавление поддержки для неподдерживаемых языков Add support for non-supported languages

Visual Studio предоставляет языковую поддержку в редакторе с помощью грамматики TextMate. Visual Studio provides language support in the editor by using TextMate Grammars. Если предпочитаемый вами язык программирования в настоящее время не поддерживается в редакторе Visual Studio, выполните поиск в Интернете. Пакет TextMate для этого языка уже может существовать. If your favorite programming language currently isn’t supported in the Visual Studio editor, first, search the web—a TextMate bundle for the language may already exist. Если вы не можете найти пакет, добавьте для него поддержку самостоятельно, создав модель пакета TextMate для грамматики языка и фрагментов кода. If you can’t find one, though, you can add support for it yourself by creating a TextMate bundle model for language grammars and snippets.

Читайте также:  Как записать видео со скайпа со звуком

Добавьте новые грамматики TextMate для Visual Studio в следующую папку: Add any new TextMate Grammars for Visual Studio in the following folder:

По этому базовому пути добавьте следующие папки, если они применимы в вашем случае. Under this base path, add the following folders if they apply to your situation:

Имя папки Folder Name Описание Description
Папка языка. The language folder. Замените на имя нужного языка. Replace with the name of the language. Например, Matlab. For example, Matlab.
Syntaxes Syntaxes Папка грамматики. The grammar folder. Содержит файлы JSON грамматики для языка, например Matlab.json. Contains the grammar .json files for the language, such as Matlab.json.
Snippets Snippets Папка фрагментов кода. The snippets folder. Содержит фрагменты кода для языка. Contains snippets for the language.

В Windows %userprofile% разрешается в путь c:Users . In Windows, %userprofile% resolves to the path: c:Users . Если в системе папки Расширение не существует, ее необходимо создать. If the Extensions folder does not exist on your system, you will need to create it. Если папка уже существует, она будет скрыта. If the folder already exists, it will be hidden.

Если у вас есть файлы, открытые в редакторе, вам нужно закрыть и снова открыть их, чтобы увидеть выделение синтаксических конструкций после добавления грамматик TextMate. If you have any files open in the editor, you’ll need to close and reopen them to see syntax highlighting after you add the TextMate Grammars.

Дополнительные сведения о создании грамматик TextMate см. в статьях TextMate – Introduction to Language Grammars (TextMate. Введение в грамматику языка) и Notes on how to create a Language Grammar and Custom Theme for a Textmate Bundle (Заметки о создании грамматики языка и пользовательской темы для пакета Textmate). For details about how to create TextMate Grammars, see TextMate – Introduction to Language Grammars and Notes on how to create a Language Grammar and Custom Theme for a Textmate Bundle.

Posted by Chas under c/c++

Я что-то роюсь в настройках, не могу с плюсов на шарп перейти. Извините за ламерский вопрос. Раньше менял,а сейчас забыл что-то….

NiCola999
new project->other languages

Syuf
Но лучше (Меню) -> Tools -> Import and Export Settings… и далее по диалогу.

Читайте также:  Синхронизация времени через интернет андроид

Visual Studio 2017 (и 2015) теперь имеет REPL для интерактивных C#, F#, R, Python и, возможно, других. View → Other Windows -> и все, что установлено, должно быть видимым.

Предположим, я хотел интегрировать свой собственный (существующий доменный) язык в Visual Studio, чтобы его REPL запустили, щелкнув элемент меню в других Windows. Меня интересует только использование встроенных REPL сервисов Visual Studio для проведения диалога с существующим языком – не для разработки языка или для использования каких-либо средств DSM , предоставляемых.NET или Microsoft. По крайней мере, сегодня.

С чего бы начать? Будет ли внедрение Interactive R подходящей отправной точкой? (Интерпретатор R скорее походил бы на мой DSM, чем на С#)

Примером здесь является интеграция Visual Studio и возможность повторного использования существующих компонентов.

Основываясь на ограниченной информации о вашей DSL, необходимо сделать предположение, которое одинаково хорошо может рассматриваться как требования:

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

Существует среда выполнения, на которой DSL может выполняться даже в виде частичных двоичных файлов (если результат компиляции является промежуточным языком, тогда вам понадобится виртуальная машина, а в противном случае – системная библиотека времени выполнения).

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

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

Одним из способов, которые могут быть использованы в проекте REPL, является:

Существует множество наборов инструментов для быстрой разработки DSL или, в принципе, для разработки любого языка программирования. Проверьте некоторые работы Тиарка Ромфа, как он был, и работает над виртуальными машинами с перекрестными языками и эффективным развитием языка DSL/программирования на основе Graal VM. В настоящее время он работает в Университете Пердью, но до этого он работал с Мартином Одерским в EPFL в Швейцарии на Scala, разрабатывал основы разработки языка программирования и их интеграцию с виртуальными машинами.

Я бы отговорил вас использовать что-либо R, поскольку это один из примеров, из которых нельзя научиться работать с языками программирования или разрабатывать их.

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

Комментировать
754 просмотров
Комментариев нет, будьте первым кто его оставит

Это интересно
Adblock
detector