Visual Studio Code中自定义.NET DLL的智能感知

2024-04-19 11:56:38 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试调用python脚本(示例python.py)从使用IronPython的C控制台应用程序。当我运行控制台应用程序时,脚本会成功执行,结果与预期一致。但是,我不知道如何为脚本中使用的自定义.net类型添加intellisense和auto complete。你知道吗

我尝试导入python clr并调用clr.AddReference文件(“customdll”),但它没有提供任何智能感知功能。你知道吗

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

在visualstudio代码中编写python脚本时,我希望IDE在键入pythonTestType时列出“TestProp”,然后将点运算符作为intellisense的一部分,就像我为其他python内置数据类型所做的那样。你知道吗


Tags: 代码py脚本应用程序类型代码段scopepythonscript