【发布时间】:2020-04-19 19:29:42
【问题描述】:
* 更新 *
在我原来的问题之下,但我了解了更多关于 VS 代码扩展的信息。
查看 OmniSharp C# 扩展似乎很理想,我可以在验证发生之前在 VS 代码编辑器中的文本之前和之后添加一些固定代码。例如,在 diagnosticsProvider.ts 中的 _validateOpenDocuments() 之前,我已经寻找了可以做到这一点的钩子。诊断项必须修改为在编辑器代码中的正确位置,减去插入的固定代码。
不确定是否有熟悉 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);
OmniSharp C# 扩展非常好用,我想对其进行扩展,以便更好地满足我的需要。
1) 当您在我的应用程序中编写脚本时,您不必编写 C# 命名空间、类和方法包装器,它会自动添加。 C# 扩展在第一行抱怨“类型或命名空间定义,或预期的文件结尾..”。
2) 我的包装器还预定义了一些成员,例如“bool NoLoop = false;”和“列表结果=新列表();”在示例中。 C# 扩展显然不知道这一点,也不识别这些成员。希望为这些添加 IntelliSense 支持。
3) 我的包装器包括其他名称空间,这些名称空间使其他类和方法可用,例如示例中的“MP.Sheet(...)”和“MP.Center(...)”。还想添加 IntelliSense 支持。
我的问题:有没有办法安装 OmniSharp C# 扩展,然后添加上述功能,还是我必须修改 OmniSharp C# 扩展代码并创建自己的 fork?
如果我可以添加功能,对上述 3 项更改中的每一项有何提示?
在此先感谢您提供的任何帮助,我是 VS Code Extensions 的新手。
【问题讨论】:
标签: visual-studio-code vscode-extensions omnisharp