1

我从版本 1 开始就一直在使用 Sublime Text,但直到最近两周我才开始全面探索编辑器的所有功能。

我想知道是否有任何方法可以将 CSharp 类库用作 Sublime Text 的插件。通常我们编写 Python [.py] 插件并将键绑定分配给我们在 Python 插件文件中编写的各种命令。

自过去 5 年以来,我一直是一名 DotNet 开发人员,并且对 Python 完全陌生,因此使用 CSharp DLL 文件作为插件的这种功能对我来说是一个福音。

任何想法或帮助将不胜感激。

4

2 回答 2

2

正如插件文档中所说,您只能使用 Python 为 Sublime Text 开发插件。因此,您不能直接从 Python 调用 .NET DLL 中的方法。

你可以在 Python 中为 Sublime Text 编写插件

但是,您可以创建一个代理 .NET 应用程序(如控制台应用程序)来包装您的 .NET DLL 的功能。subprocess您可以通过Python 模块调用该应用程序。您的里程将根据您的 DLL 具有的功能类型而有所不同。

于 2013-11-14T08:13:24.963 回答
0

@vape是正确的,插件必须用 Python 编写。然而,调用用其他语言编写的程序是相当简单的,例如使用subprocess前面提到的模块。除此之外,您可能希望查看pywin32,因为它提供了更多与 Windows、DLL 等“本地”交互的方法。有关在 Sublime 中设置它的更多详细信息,请参阅我的这个答案。

如果组合得当,您应该能够以它们的类/方法/等的方式构建您的 DLL。在 Python 中可用。这将允许您在 C# 中编写大部分逻辑,并且只需使用 Python 作为包装器来传递和接收数据。根据您要对插件进行的具体操作,您可能需要编写一些翻译函数来正确处理各种Sublime 对象(ST3 链接),但根据我的经验,这应该不会太难。

祝你好运!

于 2013-11-14T14:32:23.980 回答