代码拉取完成,页面将自动刷新
如上图,shell编辑时,输入字符“e”,按下tab补全,可以唤出补全菜单,但与已经输入的字母无法对应。只有再输入一个字符“c”才可对应。
不仅是shell,对于c语言等的编辑器,问题也是存在的。
我修改了一下,
https://gitee.com/wekay/NovalIDE/blob/hzy15610046011/noval/editor/code.py
修改的是class CodeView中的 GetAutoCompleteHint方法,修改成了大概这样。提pull request有点麻烦,而且更改只有这里,所以就直接贴在下面:
def GetAutoCompleteHint(self):
"""获取自动完成的上下文以及提示内容,适用于其他类型的语言。"""
line,col = self.GetCtrl().GetCurrentPos()
if line == 0 and col == 0:
return None, None
hint=''
lexer=self.GetCtrl().GetLangLexer() # 获取Lexer
if hasattr(lexer,"validStrSet"): # 新定义一个validStr属性,定义可以用于补全的字符。
validStrSet=lexer.validStrSet
else:
validStrSet=set(string.ascii_letters + string.digits + '_')
for c in range(col-1,-1,-1):
ch=self.GetCtrl().GetCharAt(line,c)
if ch in validStrSet:
hint=ch+hint
else:
break
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登录 后才可以发表评论