Intellisense для пользовательских .net DLL в Visual Studio Code - PullRequest
0 голосов
/ 01 мая 2019

Я пытаюсь вызвать скрипт python (SamplePython.py) из консольного приложения C #, используя IronPython.Когда я запускаю консольное приложение, скрипт выполняется успешно, и результаты ожидаются.Однако я не уверен, как я могу добавить intellisense и автозаполнение для пользовательских типов .net, используемых в моем сценарии.

Я попытался импортировать python clr и вызвать clr.AddReference ("customdll"), но он не предоставиллюбой запрос на intellisense.

Фрагмент кода C # кода консоли

ScriptSource pythonScript;
ObjectOperations objectOperations;
ScriptScope scope;

ScriptEngine pythonEngine = Python.CreateEngine();
scope = pythonEngine.CreateScope();
objectOperations = pythonEngine.Operations;

pythonScript = pythonEngine.CreateScriptSourceFromFile(@"<Path to script File>/SamplePython.py");
pythonScript.Execute(scope);

dynamic pythonMethod = scope.GetVariable("PythonMethod");

PythonTestType pythonTestType = new PythonTestType();
pythonTestType.TestProp = 8;
int x = pythonMethod(pythonTestType);

Фрагмент кода пользовательского типа C #.

namespace PythonTestLibrary
{
    public class PythonTestType
    {
        public int TestProp { get; set; }
    }
}

Фрагмент кода скрипта Python.

def PythonMethod(pythonTestType):
    return pythonTestType.TestProp

Когда я пишу свой скрипт на Python в коде Visual Studio, я ожидаю, что среда IDE перечислит «TestProp», когда я наберу pythonTestType, а затем оператор точки как часть intellisense, как я получаю для других встроенных типов данных Python.

...