首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用(.)触发两个不同的自定义自动补全程序ace编辑器中的句号和Ctrl_space

在ace编辑器中,可以通过使用.触发两个不同的自定义自动补全程序。下面是一种实现方式:

  1. 首先,需要在ace编辑器中注册两个自定义的自动补全程序。可以使用setCompleters方法来实现,该方法接受一个包含自动补全程序的数组作为参数。
代码语言:txt
复制
var editor = ace.edit("editor");

// 自定义自动补全程序1
var completer1 = {
  getCompletions: function(editor, session, pos, prefix, callback) {
    // 自定义自动补全逻辑1
    // ...
    // 返回自动补全结果
    callback(null, completions);
  }
};

// 自定义自动补全程序2
var completer2 = {
  getCompletions: function(editor, session, pos, prefix, callback) {
    // 自定义自动补全逻辑2
    // ...
    // 返回自动补全结果
    callback(null, completions);
  }
};

// 注册自动补全程序
editor.completers = [completer1, completer2];
  1. 接下来,需要监听.键的按下事件,并根据光标位置判断触发哪个自动补全程序。可以使用on("keydown")方法来实现。
代码语言:txt
复制
editor.on("keydown", function(e) {
  if (e.keyCode === 190 && e.getCompletions() === null) {
    var cursorPos = editor.getCursorPosition();
    var line = editor.session.getLine(cursorPos.row);
    var prefix = line.slice(0, cursorPos.column).split(/[^\w.$]+/).pop();

    // 根据光标位置判断触发哪个自动补全程序
    if (prefix === ".") {
      editor.execCommand("startAutocomplete");
    } else {
      editor.execCommand("startAutocomplete");
    }
  }
});

以上代码中,通过监听键盘按下事件,当按下.键时,获取光标位置和当前行的内容,提取出.之前的字符串作为前缀。然后根据前缀判断触发哪个自动补全程序,调用execCommand("startAutocomplete")方法触发自动补全。

需要注意的是,以上代码只是一种实现方式,具体的自动补全逻辑和触发方式可以根据实际需求进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

腾讯云 AI 代码助手最佳实践 - VSCode 版

一、前言腾讯云 AI 代码助手根据开发者使用 IDE 不同,会提供对应 IDE 插件,并结合大语言模型提升研发效率。...代码补全功能是该插件开发者使用频率最高功能,相对 AI 助手对话功能而言,代码补全自动触发,而对话是开发者主动行为。...代码补全触发时机我们一直在优化代码补全触发时机,直觉上可能会认为插件在每次输入时候自动触发补全。...代码补全内容粒度实际使用过程,我们可以发现插件补全内容粒度在不同代码位置是不一样。...为了方便大家举一反三,可以把代码补全功能,想象成一个隐藏在背后程序员: ● 他眼睛几乎只能看到当前光标之前代码(代码行数字符数也是有一定限制); ● 具有较强逻辑推理模仿能力; ● 他只能接着当前光标位置继续完成后续代码

3.7K30

强大、好用、适合程序员软件开发者专业编辑器笔记软件综合评测全面推荐

、PSPAD、GEANY、JEDIT、NETBEANS、Nvu、NoteTab、Gedit……面对这几十种编辑器程序员群体软件开发者应该如何选择呢?...下面将选择一些备受好评代表性产品进行综合测评。Emacs:神编辑器首先出场两个编辑器,便是在程序引起编辑器之战 两个工具。这便是 Emacs Vim 这两款传说级编辑器。...代码补全、编译及错误跳转等方便编程功能特别丰富,在程序员中被广泛使用。特点支持扩展插件系统;支持数百种编程语言和文件格式;强大搜索功能;集成了许多工具;评价Vim 比 Emacs 更容易上手一些。...Vim 官网Visual Studio Code介绍一款微软提供、免费开源现代化轻量级代码编辑器;特点支持几乎所有主流开发语言语法高亮、智能代码补全自定义热键、括号匹配、代码片段、代码对比 Diff...Boostnote 官网FlowUs:新一代编辑器生产力工具介绍与前面的几款专门代码编辑器不同,FlowUs 是一款 Notion Like 编辑器。当然,支持代码高亮、多编程语言。

94920

web在线代码编辑器ace.js前端工程实现

ACE.jsACE是一个开源、独立、基于浏览器代码编辑器,可以嵌入到任何web页面或JavaScript应用程序。...也实现了编辑器代码文档分离,Session管理代码编辑状态,Document为代码容器,TextMode提供语言解析,为代码高亮智能编辑提供支持,Editor为编辑器核心,它处理代码状态,处理...Ace提供了非常详细完整文档描述如何自定义一个语法高亮模块扩展,其中包括编写mode(语法解析)、高亮规则、代码流状态机、mode继承等,并提供了一个可在线预览编辑环境。...通常用户使用较多是Session类API,涉及对编辑状态获取修改,如光标、选择、代码行、代码搜索等类API方法都较为丰富。...,这个足够了参考文章:基于JavaScript代码编辑器比较选型 https://sq.163yun.com/blog/article/184733100361850880ACE editor 在线代码编辑极其高亮

4.8K21

DIY VSCode 插件,让你开发效率突飞猛进

VSCode 提供以下扩展能力:代码自动补全自定义命令/菜单/快捷键、悬浮提示、自定义跳转、主题定制、自定义 WebView 等等。你可以根据自己需要随意组合使用。...快速上手 “接下来,将以一个简单代码片段自动补全插件为例,让大家 10 分钟快速上手。代码片段自动补全也是大家编写代码时使用频率最高、最能帮助提高编码速度功能。...以上不同类型脚手架模板只是侧重预设功能不同,其本质还是 VSCode 插件。 ? Snippets 代码片段自动补全 添加 Snippets 配置项 // package.json ......prefix 定义一个或多个(设置数组时可以指定多个)触发词(trigger words),当用户输入内容是触发词时编辑器会弹出自动补全提示。 body 定义就是填充代码段内容。...ESLint,语法规则代码风格检查工具。 Path Autocomplete,文件路径自动补全。 Document This,快速生成注释。

1.9K20

一文打透前端研发需要了解DSL

下面我将使用一个实际研发遇到例子来说明外部 DSL应用。再次之前,我们也许要先了解一两个工具,一个是 js 写 DSL 解析器,叫做 nearley。...词法规则定义了你 DSL 各种符号(例如关键字、标识符操作符),而语法规则定义了这些符号如何组合成有效表达式。...并没有,我们在写代码时候,如果没有语法着色,没有代码补全,没有代码提示,那么我们开发效率会大大降低。实现语法着色,代码补全,我们可能需要做一个让编辑器识别我们自定义语言,这个过程叫做语言支持。...Monaco Editor Ace Editor 都支持自定义语言支持,你可以根据自己需求来实现自定义语言支持。这里我以 Monaco Editor 为例,来说明如何实现自定义语言支持。...Monaco Editor 是一个由微软开发基于浏览器代码编辑器,它提供了很多强大特性,包括语法高亮、代码自动补全、代码提示等。

74321

sublime学习笔记

6.快速打开文件:ctrl + p 7.命令行面板:ctrl + shift + p 8.可启用vim模式 9.已经形成事实标准,很多其他编辑器中都可以使用类似的快捷键。...那么应该如何知道命令正确名称? 打开工作台,输入sublime.log_commands(True)回车执行,再打开面板执行相应操作,从返回结果可看到精确命令名相关参数。...emmet用于代码提示、自动补全等 例如 输入p20,Tab键之后自动补全代码为:padding: 20px; 输入m0-auto,Tab键之后自动补全代码为:margin: 0 auto; 掌握一些Emmet...第三行就是要插入代码片,${1}代表是第一个光标位置,代码片会默认选中this,当按下tab之后,会选中${2}snippet : 定义了触发补全字符串。...,可看到已保存自定义snippet,选中即可显示出代码片段,或者使用关键字触发,输入top ? ?

98460

月活百万,年增长1000%,AI编码神器Codota获1600万美元融资

以色列初创公司Codota发布了可以帮编辑器自动完成代码AI工具,可将代码生产率提高25%,现已被Google,Amazon,阿里,Airbnb等公司广泛使用,并有免费版本供用户下载。...我们已经非常习惯在电子邮件消息发送软件使用自动文本补充错误拼写纠正,那在写代码时候呢?如果广大程序员也可以拥有一款自动帮写代码工具,那该多好!...Codota使用到底具有什么强大功能?IT从业人员又如何快速,充分利用这一工具,来提高日常生产效率准确度?...通过对海量开源项目的AI学习,最终能根据程序上下文提示并补全代码,帮助开发者减少失误,提升工作效率,使得开发者能更快、更聪明地编程;同时,使用AI技术,通过IntelliJ直接从数百万个程序更快、更智能进行代码检索...API文档XML元素 高亮变量引用 废弃API警告 高质量代码样例搜索 代码片段保存 手把手入门Codota 代码补全 只要发现有用建议,Codota就可以触发自动补全功能,当然,也可用快捷键手动触发代码补全

1.1K20

Eclipse代码自动补全功能「建议收藏」

Eclipse代码自动补全功能 学习Java已有两个时间了,今天鼓起勇气尝试写第一篇CSDN博客,希望在帮助自己记录同时能够帮助到有需要朋友。...众所周知Eclipse是一款非常智能IDE工具,那么我们如何设置才能让它更为智能呢?本文主要介绍以下两点内容。...Eclipse代码自动补全功能 只按回车键来达到自动补全代码目的 1.代码自动补全功能 要实现Eclipse代码自动补全功能,我们需要这样设置:依次点击在Eclipse菜单栏Window –>...Preferences –> Java –> Editor –> Content Assist, 并在图示箭头位置输入.abcdefghijklmnopqrstuvwxyz(英文句号+26个字母),由于在输入代码时候大小写皆可获取自动提示...有的时候我们要不是自动提示里面的内容,但按下空格键之后Eclipse会帮我们自动补全,这时候我们就需要进行如下设置,以达到只当我们按下Enter回车键时候才进行自动补全

2.5K30

详解nvim内建LSP体系与基于nvim-cmp代码补全体系

网络上关于如何配置文章很多,但本人发现绝大多数文章仅仅停留在配置本身,没有深入解释这些插件作用和它们之间关系,这就导致了很多入门小伙伴在配置、使用过程遇到各种问题也不知如何下手。...简单来讲,该协议定义了两端:Language Client(语言服务客户端)Language Server(语言服务端),其核心是将代码编辑器文本界面的展示**代码语言分析(语言支持,自动补全,定义与引用解析等...使用LSP这套体系,有两个必备步骤: 获取并安装语言服务器程序; 启动语言服务器,让它处于运行状态。...片段源可以有很多,比如代码语法树token,命令行支持指令,各种git指令,文件系统路径等。nvim-cmp以解耦思想进行设计,将各种不同片段获取来源分离在了不同插件。...本文针对这两个复杂点,从模块架构角度,介绍了nvim内建LSP体系代码补全体系。

1.1K10

Monaco Editor对标优势—为什么选择Monaco为在线编辑器内核

Monaco Editor 是一款开源在线代码编辑器。它大热 VSCode 都是微软家娃。...,他们很大一部分代码(monaco-editor-core)都是共用,所以monacoVSCode在编辑代码,交互以及UI上几乎是一摸一样,有点不同是,两者平台不一样,monaco基于浏览器...Monaco 是一个用于浏览器编辑器,始于 2011 年 Erich Gamma 加入微软。后期主要使用在 Visual Studio Online, OneDrive 以及不少内部网站。...即vs/vs dark语言支持√ (110+/可扩展)√ (130+)√ (30+)代码提示/自动补全√ (引入tool文件+配置)√ 引入hint相关文件+配置快捷键命令√ 默认开启代码完成/循环结构...Ace综合能力突出,适应现代前端开发能力,基本上手简单,扩展也较为丰富,适合在浏览器端网页嵌入。

3.8K20

Ace在线代码编辑器使用「建议收藏」

官网api使用文档:https://ace.c9.io/#nav=howto 1、基本配置: ace有许多配置项可供选择,通过这些配置项可以打造自己个性编辑器 你可以通过setTheme来设置主题,...editor.setShowPrintMargin(false); 2、编辑操作 ace可以方便编辑器数据进行获取写入,甚至可以只获取选中内容,同时也能实现获取行数,跳转到行等操作 通过getValue...可以获取到编辑器内光标的位置,输出结果为一个标识行字典,像这样:{row:13,column:37} editor.selection.getCursor() 3、搜索与替换 ace还实现了强大搜索替换功能...textarea比较鸡肋,连最基本换行都无法实现,所以我通常都会用ace来代替form表单textarea,但默认情况下submit无法自动获取pre标签数据做提交,这该如何处理呢?...一种简单方式就是将textarea隐藏,同时创建一个ace编辑器来取代他,然后检测编辑器内数据变化自动给填充到textarea内,完整例子就像下边这样 <form class="form-horizontal

4.2K60

IntelliJ IDEA 2023.2 最新变化

编辑器内性能提示 Ultimate 在 IntelliJ IDEA 2023.2 ,我们增强了 IntelliJ 分析器,为应用程序性能提供更有价值且易于理解洞察。...改进了主工具栏自定义 我们扩展了新 UI 主工具栏自定义选项。 现在,您可以使用下拉菜单快速选择要添加到工具栏操作。...JavaScript JSON 正文补全 Ultimate IDE 现在为 JavaScript 代码 JSON 对象键提供补全,例如使用 fetch() 调用或引用 Axios 库代码。..._VM options_(虚拟机选项) Spring Boot 配置键自动补全 Ultimate 设置新 Spring Boot 运行配置时,_VM options_(虚拟机选项)字段为 -D 标志后面出现键提供自动补全选项...这简化了处理多个集群或在同一项目中不同集群上使用环境体验。

61920

GoLand 2024.1 最新变化 大盘点

下载.exe 可免费试用 30 天 全行代码补全 GoLand 2024.1 引入了全行代码补全,这项新功能使用本地运行上下文感知深度学习模型自动补全整行代码。...性能改进 改进索引编制性能 GoLand 编制索引速度现在显著提高。 我们发现速度平均提高了 30% 左右。 每个用户实际结果自然会有所不同,具体取决于其项目硬件。...在 Terraform 注册表对第三方提供程序支持 Terraform 插件现在为超过 3,900 个第三方 Terraform 提供程序提供扩展代码补全,使开发者能够更轻松地高效编写代码。...在当前版本,您可以将 IDE 缩小到 90%、80% 或 70%。 编辑器粘性行 为了简化大文件处理新代码库探索,我们在编辑器引入了粘性行。...得益于新审查模式实现,作者审查者现在可以直接在编辑器无缝互动。 了解详情。

30600

「CodeFuse」如何在PHPStorm中使用CodeFuse完成快速排序算法编写

使用 CodeFuse 插件 使用 代码补全 代码补全功能基于海量数据提供实时地代码补全服务,包括行内补全(单行补全片段补全(多行补全)。...单行代码补全 1、在 IDE 编辑器创建一个 PHP 文件 2、在 PHP 文件,CodeFuse 将能够根据代码上下文,为您键入内容给出补全提示。...关闭自动代码补全 自动触发代码补全功能默认开启,支持在插件面板设置关闭此功能,以禁止自动触发单行或多行代码补全。 单行代码补全:例如在编辑器中键入一个函数名称并按下回车键。...多行代码补全:例如在编辑器中键入一段注释文本并按下回车键。 说明:关闭自动触发代码补全后,您仍然可以使用 Alt/Option + \ 快捷键手动触发代码补全。...使用代码优化步骤如下。 在 IDE 编辑器创建一个 PHP 文件,编写并选中一段需要优化代码。 单击鼠标右键,选择 「CodeFuse:代码优化」,将在插件面板提供多个代码优化建议。

38920

新版 Kite:实时补全代码,Python 之父都发声力挺!

在这之前,大部分开发人员会选择静态自动补全代码方式,作为提高在 Python 调用函数效率解决方案。但这一方法也有局限,它无法随开发者编写过程而自动适应,需要手动修改参数子语句。...该引擎可以根据正在使用代码动态生成片段,它会自动检测代码库开发者所使用常见模式,并在编写代码时建议使用相关模式。从下面的示例我们可以看到,它能有效预测一些常用编辑模式: ?...更多编辑器支持 新版 Kite 除了支持之前 Windows、Mac、Linux 编辑器之外,还支持了更多编辑器,而且更多语言正在扩展。...新增支持编辑器如下: Atom PyCharm Sublime VS Code Vim IntelliJ 其它代码补全工具 当然,除了 Kite 之外,目前讨论较多代码补全工具还有被称作「程序杀手级应用...下载地址:https://aixcoder.com/#/ 当然,还有很多其它同类型工具没能在此一一列举,这些优缺点也仅供参考;因为不同的人使用该类工具用途、习惯都不一样,找到适合自己工具就好~ ?

2K31

新版 Kite为啥这么火,问就俩字『好用』

在这之前,大部分开发人员会选择静态自动补全代码方式,作为提高在 Python 调用函数效率解决方案。但这一方法也有局限,它无法随开发者编写过程而自动适应,需要手动修改参数子语句。...该引擎可以根据正在使用代码动态生成片段,它会自动检测代码库开发者所使用常见模式,并在编写代码时建议使用相关模式。从下面的示例我们可以看到,它能有效预测一些常用编辑模式: ?...然后,当开发者调用函数时,Kite 会为该函数提供一些片段,以补全该部分代码。Kite 自动补全功能仍然为每个参数提供补充代码建议。...更多编辑器支持 新版 Kite 除了支持之前 Windows、Mac、Linux 编辑器之外,还支持了更多编辑器,而且更多语言正在扩展。...新增支持编辑器如下: Atom PyCharm Sublime VS Code Vim IntelliJ 当然,除了 Kite 之外,目前讨论较多代码补全工具还有被称作「程序杀手级应用」TabNine

2.7K20

每个开发人员都应该知道VS Code入门技巧

点击“文件”->“首选项”->“键盘快捷键”或使用快捷键Ctrl + KCtrl + S打开键盘快捷键编辑器。可以修改现有快捷方式或创建自己快捷方式。...2、多光标编辑:要同时编辑多个出现单词或选区,使用Ctrl + D选择下一个出现单词或选区,并使用Ctrl + U删除最后一个选区。还可以使用Alt + Click在不同位置创建多个游标。...3、智能感知自动完成:VS Code提供了智能感知代码完成功能。按Ctrl + Space可以触发IntelliSense,它会根据上下文建议代码补全。还可以自定义智能感知设置以增强其功能。...Ctrl + Shift + F:在文件搜索以查找整个项目中文本。 5、拆分编辑器多窗口:VS Code可以垂直或水平拆分编辑器,这样可以同时查看编辑多个文件。使用Ctrl + \拆分编辑器。...8、扩展:VS Code有一个庞大扩展生态系统来增强它功能。Extensions视图(Ctrl + Shift + X)可以浏览安装针对不同编程语言、框架工具扩展。

19610

IntelliJ IDEA 2023.2 主要更新了什么?(图文版)

改进了主工具栏自定义 我们扩展了新 UI 主工具栏自定义选项。 现在,您可以使用下拉菜单快速选择要添加到工具栏操作。...JavaScript JSON 正文补全 Ultimate IDE 现在为 JavaScript 代码 JSON 对象键提供补全,例如使用 fetch() 调用或引用 Axios 库代码。...VM options(虚拟机选项) Spring Boot 配置键自动补全 Ultimate 设置新 Spring Boot 运行配置时,VM options(虚拟机选项)字段为 -D 标志后面出现键提供自动补全选项...这简化了处理多个集群或在同一项目中不同集群上使用环境体验。...要使用实时模板,首先在编辑器输入缩写,然后按 Tab 将其展开。

21010

webstorm插件推荐_webstorm中文界面

TabNine 可以记录用户习惯自动补全代码,牛逼 3. ESLint 代码检查插件 4....对于想完全使用快捷键在IDEA,这个插件就很有用。 7、Markdown 让编辑器支持 markdown 语法,程序最爱! 8、Material Theme UI 俗话说,工欲善其事必先利其器。...今天推荐一个IDEA颜值类插件:Material Theme UI 9、SVNToolBox 要使用svn版本控制,可以使用这个插件,版本控制是程序员必备技能之一了 。...对于想完全使用快捷键在IDEA,这个插件就很有用。 7、Markdown 让编辑器支持 markdown 语法,程序最爱! 8、Material Theme UI 俗话说,工欲善其事必先利其器。...今天推荐一个IDEA颜值类插件:Material Theme UI 9、SVNToolBox 要使用svn版本控制,可以使用这个插件,版本控制是程序员必备技能之一了 。

4K30
领券