.NET 函数参数的 Tab 补全

问题描述

给定一个 C# 成员函数 Bar

namespace foo {
    public class Foo {
        public void Bar(string baz) {
            Console.WriteLine(baz);
        }

        // Possible values for `Bar`'s parameter
        public IEnumerable<string> CompleteBaz() {
            return new[] { "hello","hi","bye" };
        }
    }
}

... 可从 Powershell 访问:

$assembly = [System.Reflection.Assembly]::LoadFrom("foo.dll")
$foo = New-Object foo.Foo

...我可以从命令行调用它如下:

> $foo.Bar("hello")
hello
>

有没有办法在不将 baz 包裹在带有 Foo.Bar 的 cmdlet 中的情况下获得 ArgumentCompleter 的动态制表符补全?

> $foo.Bar(<TAB>
# Magic call to $foo.CompleteBaz()
hello hi bye
> $foo.Bar(

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)