我在我的开发环境中使用Emacs和SLIME.当我输入(write-to然后C-M-i我得到以下自动填充:
Click on a completion to select it.
In this buffer, type RET to select the completion near point.
Possible completions are:
write-to-sting
write-to-string
Run Code Online (Sandbox Code Playgroud)
我知道Common Lisp很强大,但我猜write-to-sting不是ANSI标准.谷歌没有为这个功能提供一次点击.然后我试着在SBCL代码中找到它,但是唉
(documentation 'write-to-sting 'function)返回,nil因此它没有文档字符串.
当我尝试执行(write-to-sting)我得到的功能时The function COMMON-LISP-USER::WRITE-TO-STING is undefined.
Apropos还发现了一个未绑定的函数:
(apropos 'write-to)
WRITE-TO
WRITE-TO-STING
WRITE-TO-STRING (fbound)
Run Code Online (Sandbox Code Playgroud)
我的问题是:发生了什么事?有谁知道这个功能背后的故事?
Kotlin 自动完成功能在 Android Studio 中不起作用。Java 和 XML 自动完成功能正常工作,但 Kotlin 不工作。
Kotlin 不工作示例:
XML 工作示例:
在vim中搜索我的python完成必杀技时,我真的很喜欢<Cx> <Ci>:"当前和包含文件中的关键字".这几乎总是让我从另一个完成的模块中得到一个令人讨厌的名字,这很棒.
(Omni-completion在它工作时明显更好,但是它经常报告它找不到任何匹配.好吧,Python不是Java,我明白了)
这个多文件完成的唯一问题是它非常慢:在我的上网本上,每次点击<Cx> <Ci>时,具有合理导入集的文件最多需要4或5秒才能解析.每次点击<Cx> <Ci>时,似乎都会加载每个导入的文件.有没有办法缓存文件或加快这个过程?使用标签完成会更快吗?
编辑:原来这是Eclipse 和枚举/数组初始值设定项的一个长期存在的错误,这真的很不幸。
在 Eclipse 中,我发现我无法访问枚举内部的任何类型的代码完成。这是一个 WIP,当然,我正在使用的代码片段。
enum PlayerState implements State<Player> {
NORMAL(){
@Override
public void enter(Player player){
}
@Override
public void update(Player player){
}
},
JUMP_START(){
Timer jumpTimer = new Timer();
public void enter(Player player){
jumpTimer.set(1);
}
public void update(Player player){
}
},
GLOBAL_STATE(){
@Override
public void update(Player player){
}
};
@Override
public void enter(Player player) {
}
@Override
public void exit(Player player) {
}
@Override
public boolean onMessage(Player player, Telegram telegram) {
return false;
} …Run Code Online (Sandbox Code Playgroud) 我一直在网上寻找一段时间,试图找到这两个术语的定义和例子,但我似乎无法得到一个直接的答案,我只是变得更加困惑.
有人可以向我解释一下这个区别.一篇好的描述性文章会有所帮助.
operating-system resource-scheduling execution-time response-time completion
(completing-read
"Complete a foo: "
'(("foobar1" "~/foobar1/") ("barfoo" "/usr/barfoo/") ("foobaz" "/hello/")))
Run Code Online (Sandbox Code Playgroud)
如上图所示,我想提示"foobar1","barfoo"和"foobaz"但得到的回报配对目录.
Moverover,如果我有这样的哈希表
(cl-defstruct person ID name)
(setq person-object (make-person :ID 123 :name "foo"))
(setq person-table (make-hash-table))
(pushash (person-ID person-object) person-object person-table)
Run Code Online (Sandbox Code Playgroud)
我如何提示输入此人姓名但获得人身份证明作为回报?
我希望此功能在协议中:
func slideToRight(currentViewController viewController: UIViewController, completion: ((Bool)->())? = nil) {
// do some stuff
}
Run Code Online (Sandbox Code Playgroud)
但是当我写这样的协议时:
protocol SomeDelegate {
func slideToRight(currentViewController viewController: UIViewController, completion: ((Bool)->())? = nil)
}
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
协议方法中不允许使用默认参数
我知道,我可以这样定义签名:
protocol SomeDelegate {
func slideToRight(currentViewController viewController: UIViewController, completion: ((Bool)->())?)
}
Run Code Online (Sandbox Code Playgroud)
但是然后,我将无法调用缺少“ completion”字样的函数:
slideToRight(currentViewController viewController: vc)
Run Code Online (Sandbox Code Playgroud) 我在使用 Elasticsearch 6.0 时遇到了一个奇怪的问题。
\n\n我有一个具有以下映射的索引:
\n\n{\n "cities": {\n "mappings": {\n "cities": {\n "properties": {\n "city": {\n "properties": {\n "id": {\n "type": "long"\n },\n "name": {\n "properties": {\n "en": {\n "type": "text",\n "fields": {\n "keyword": {\n "type": "keyword",\n "ignore_above": 256\n }\n }\n },\n "it": {\n "type": "text",\n "fields": {\n "keyword": {\n "type": "keyword",\n "ignore_above": 256\n }\n }\n }\n }\n },\n "slug": {\n "properties": {\n "en": {\n "type": "text",\n "fields": {\n "keyword": {\n "type": "keyword",\n "ignore_above": 256\n }\n }\n },\n …Run Code Online (Sandbox Code Playgroud) 我有一堆工具可以将所有参数传递给内部调用,例如“git log”。一个简单的例子可能如下所示:
#!/usr/bin/env zsh
git log --since='1 year ago' "$@"
Run Code Online (Sandbox Code Playgroud)
我知道我可以通过执行以下操作来获得完成别名:
compdef myscript=grep
Run Code Online (Sandbox Code Playgroud)
但是,尚不清楚如何对 等子命令执行此操作git log。有没有办法做到这一点?
我的 .gitconfig 文件中有高级别名,我想支持制表符完成。
例如,这个简单的别名允许对 refs 进行 Tab 补全(假设已获取 git 补全):
[alias]
co = checkout
Run Code Online (Sandbox Code Playgroud)
然而,这并不:
[alias]
co = "!f() { git checkout \"${@}\"; }; f}"
Run Code Online (Sandbox Code Playgroud)
有什么方法可以为这些别名添加对制表符完成的支持吗?