You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VS Code编辑CSharpScript时获取外部传入host对象的智能提示?

针对CSharpScript宿主对象智能提示相关问题解答

1. 能否让VS Code识别host对象实例并提供智能提示

完全可以,按以下步骤操作即可实现:

  • 首先将你定义host实例的类编译为独立公开的程序集(.dll文件),编译时勾选项目属性中的「生成XML文档文件」选项,这样智能提示还能带上你写的代码注释。
  • 用户在VS Code中编辑脚本时,只需要在脚本头部添加两行声明即可:
    // 引用你的host程序集,路径替换为实际的dll存放路径
    #r "YourCADHost.dll"
    // 显式声明host变量类型,仅用于智能提示,实际运行时会被你传入的实例覆盖
    var host = default(YourCADNamespace.CADHostClass);
    
  • 你可以直接把上述两行作为脚本模板的默认头部,用户不需要手动修改,也完全不会影响脚本的实际执行逻辑。

2. 现有执行方案是否是支持外部传入变量脚本智能编辑的正确路径

现有基于CSharpScript.EvaluateAsync<int>(code, opt, host)的方案是官方推荐的宿主对象注入方式,整体路径是正确的,完全可以满足需求,仅可做两处优化提升体验:

  • 你在构造ScriptOptions参数opt时,提前把host所在的程序集以及你开放给脚本调用的所有依赖程序集都加到opt.References列表中,避免用户脚本额外添加引用才能编译通过。
  • 如果不想让用户额外安装VS Code和C#扩展,你可以直接在你的CAD软件中内嵌Monaco编辑器(VS Code底层使用的编辑器组件),自行配置C#补全规则,把host的所有公开成员预加载到补全列表中,实现软件内置的带智能提示的脚本编辑能力。

内容的提问来源于stack exchange,提问作者andreat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 00:36:04