Код VS - C# Расширение - Расширение дальше - PullRequest
1 голос
/ 19 апреля 2020

* ОБНОВЛЕНИЕ *

Ниже моего первоначального вопроса, но я узнал больше о VS Code Extensions.

Просмотр расширения OmniSharp C# выглядит идеально Я мог бы добавить некоторый стандартный код до и после текста в редакторе кода VS перед проверкой. Я искал хуки, где это можно сделать, например, перед _validateOpenDocuments () в DiagnicsProvider.ts. Элементы диагностики должны быть изменены, чтобы иметь правильную позицию в коде редактора, вычитая вставленный постоянный код.

Не уверен, что кто-нибудь, знакомый с работой OmniSharp, может дать мне несколько советов по поводу идеи выше.

Спасибо, Энрике

У меня есть приложение (работает нормально, написано в C#), которое использует код C# в качестве языка сценариев для создания чертежей. У него есть собственный редактор кода, но я хотел бы использовать превосходный VS Code в качестве внешнего интерфейса.

Ниже приведен очень простой действительный скрипт:

NoLoop = true;

MP.SetBackgroundColor(72, 60, 0);
MP.SetPen(1, 3, 255, 255, 255, 64);

List<MathPoint> grid = MP.Sheet(200, 100, 200, 0.0, 0.0);

result = MP.Center(MP.Transform(grid, xS:+1.0, yS:-1.0, zR:+0.0), 0.0, 0.0, 2.0, 2.0);

The OmniSharp C# расширение прекрасно работает, и я хотел бы расширить его, чтобы оно лучше соответствовало моим потребностям.

1) Когда вы пишете скрипт в моем приложении, вам не нужно писать пространство имен C#, класс и метод обертки, добавляется автоматически. Расширение C# жалуется на «Тип или определение пространства имен или ожидаемый конец файла ...» в первой строке.

2) Моя оболочка также предопределяет некоторые элементы, такие как «bool NoL oop = ложный;" и "List result = new List ();" в примере. Расширение C#, очевидно, не знает этого и не распознает этих участников. Хотелось бы добавить поддержку IntelliSense для них.

3) Моя оболочка включает в себя другие пространства имен, которые делают доступными другие классы и методы, такие как "MP.Sheet (...)" и "MP.Center (...) в примере. Также хотел бы добавить поддержку IntelliSense.

Мой вопрос: есть ли способ установить расширение OmniSharp C# и затем добавить к нему с помощью вышеуказанных функций, или мне нужно изменить код расширения OmniSharp C# и создать свой собственный форк?

Если я могу просто добавить функциональность, есть ли какие-либо советы по каждому из 3 изменений выше?

Заранее благодарен за любую помощь в этом, я новичок в VS Расширения кода.

Sample script in VS Code

1 Ответ

0 голосов
/ 30 апреля 2020

На этот вопрос ответили здесь: https://github.com/OmniSharp/omnisharp-vscode/issues/3746

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...