我有一个应用程序将一些 c# 对象暴露给嵌入式 IronPython 解释器,如下所示:
using IronPython.Hosting;
namespace ironpy
{
public class Foo
{
public void bar(string message)
{
System.Console.WriteLine(message);
}
}
class Program
{
static void Main(string[] args)
{
var engine = Python.CreateEngine();
var scope = engine.CreateScope();
var test = new Foo();
scope.SetVariable("foo", test);
string code = "foo.bar('Hello')";
engine.Execute(code, scope);
}
}
}
实际上,python 源代码来自运行时加载的文本文件。
在 VSCode 或其他编辑器中编辑这样的源文件时,提供代码完成的语言服务器显然不知道什么是可用的。所以你没有代码完成和恼人的错误曲线无处不在。
是否有可能为常用的语言服务器之一编写某种插件/提示/linting 文件,以告诉他们导出的 C# API 以在编辑 python 源文件时完成工作代码?