MonacoEditor是微软提供的代码编辑器

vscode即是使用它作为编辑器。

它的开发语言是ts,可以嵌入到浏览器中。

代码提示或者说代码补全功能是我们经常需要定制的部分。

目前它提供的快捷键是ctrl+space,和win10以下的操作系统的默认中英文切换是冲突的。

检查源码发现,TriggerSuggestAction的触发快捷键已经写死:

        function TriggerSuggestAction() {
return _super.call(this, {
id: 'editor.action.triggerSuggest',
label: nls.localize(0, null),
alias: 'Trigger Suggest',
precondition: contextkey_1.ContextKeyExpr.and(editorCommon_1.EditorContextKeys.Writable, editorCommon_1.ModeContextKeys.hasCompletionItemProvider),
kbOpts: {
kbExpr: editorCommon_1.EditorContextKeys.TextFocus,
primary: 2048 /* CtrlCmd */ | 10 /* Space */,
mac: { primary: 256 /* WinCtrl */ | 10 /* Space */ }
}
}) || this;
}

既然没法改快捷键,它的run方法实现如下:

        TriggerSuggestAction.prototype.run = function (accessor, editor) {
SuggestController.get(editor).triggerSuggest();
};

即是说,只要有办法调用这个triggerSuggest即可,但是SuggestControll而是个私有对象,要如何调用呢?

继续看源码:

        SuggestController.get = function (editor) {
return editor.getContribution(SuggestController_1.ID);
};
SuggestController.prototype.getId = function () {
return SuggestController_1.ID;
}; SuggestController.ID = 'editor.contrib.suggestController';
SuggestController = SuggestController_1

可以得出结论

editor.getContribution('editor.contrib.suggestController').triggerSuggest

这个就是我们所需要的调用代码。

当然,还有一种更推荐的形式:

editor.trigger('随便写点儿啥', 'editor.action.triggerSuggest', {});

MonacoEditor 主动触发代码提示功能的更多相关文章

  1. Eclipse 代码提示功能设置。

    1.        解决实例化时自动补全不必要的单词问题 2.        以MyEclipse 6.5重新配图 鉴 于网上的批评之声甚大,我只想说明我的想法:这样的增强代码提示,最终是用来辅助我们 ...

  2. Eclipse代码提示功能设置

    1.        解决实例化时自动补全不必要的单词问题 2.        以MyEclipse 6.5重新配图 鉴 于网上的批评之声甚大,我只想说明我的想法:这样的增强代码提示,最终是用来辅助我们 ...

  3. eclipse中的代码提示功能

    Eclipse 的代码提示功能,具体配置 1. 打开Eclipse ,然后"window"→"Preferences" 2. 选择"java" ...

  4. Linux Eclipse代码提示功能设置(Java & C/C++)

    最近在Linux下开发,由于长期使用Visual Studio 2010,对代码提示功能情有独钟,现在在Linux下,使用Eclipse做开发,当然免不了怀念Visual Studio强悍的代码提示, ...

  5. Eclipse代码提示功能设置(Java & Eclipse+CDT C/C++)

    http://developer.51cto.com/art/200907/136242.htm http://blog.chinaunix.net/u/21684/showart_462486.ht ...

  6. 如何打开Intellij IDEA的代码提示功能/联想/自动联想

    1.默认情况下,我们输入代码时IDEA会自动弹出代码提示框,这时候是不用按快捷键的,直接使用方向键选择我们需要的条目就可以了. 2:如果我们想主动 使用代码提示时,默认的快捷键是CTRL+空格,但是中 ...

  7. 百度搜索_如何打开Intellij IDEA的代码提示功能?

    Intellij IDEA是一款优秀的编程软件,相比较Eclipse之下它的用户群较小,但并不代表它的功能就比Eclipse差,如果用顺手了还是特别好用的.代码提示功能对于程序员来说非常重要,那么我们 ...

  8. 实用---eclipse中的代码提示功能

    Eclipse 的代码提示功能,具体配置 1. 打开Eclipse ,然后“window”→“Preferences” 2. 选择“java”,展开,“Editor”,选择“Content Assis ...

  9. 转载:Eclipse+Spket插件+ExtJs4修改版提供代码提示功能[图]

    转载:Eclipse+Spket插件+ExtJs4修改版提供代码提示功能[图] ExtJs是一种主要用于创建前端用户界面,是一个基本与后台技术无关的前端ajax框架.功能丰富,无人能出其右.无论是界面 ...

随机推荐

  1. genymotion中app不能安装问题

    在安装app时弹出如下图报错. 官网解释:Genymotion模拟器使用的是x86架构,在第三方市场上的应用有部分不采用x86这么一种架构,所以在编译的时候不通过,报“APP not installe ...

  2. 提示“本地连接没有有效的ip配置-未修复“窗口

    很多人在使用电脑时可能会遇到了这样一个网络问题,电脑无法连接网络,使用自带网络诊断工具诊断提示:"本地连接没有有效的ip配置".这种网络故障多数是出在使用路由器共享上网的windo ...

  3. authorizations.go

    {         return nil, fmt.Errorf("invalid TTL %d (must be >0)", authState.TTL)     }    ...

  4. 【bzoj 3131】[Sdoi2013]淘金

    Description 小Z在玩一个叫做<淘金者>的游戏.游戏的世界是一个二维坐标.X轴.Y轴坐标范围均为1..N.初始的时候,所有的整数坐标点上均有一块金子,共N*N块.    一阵风吹 ...

  5. CF_229E_Gift_概率DP+组合数学

    CF_229E_Gift_概率DP+组合数学 题目描述: 很久很久以前,一位老人和他的妻子住在蔚蓝的海边.有一天,这位老人前去捕鱼,他捉到了一条活着的金鱼.鱼说:“噢,老渔人!我祈求你放我回到海里,这 ...

  6. BZOJ_1901_Zju2112 Dynamic Rankings_树状数组+主席树

    BZOJ_1901_Zju2112 Dynamic Rankings_树状数组+主席树 题意: 给定一个含有n个数的序列a[1],a[2],a[3]……a[n],程序必须回答这样的询问:对于给定的i, ...

  7. BZOJ_4872_[Shoi2017]分手是祝愿_概率与期望

    BZOJ_4872_[Shoi2017]分手是祝愿_概率与期望 Description Zeit und Raum trennen dich und mich. 时空将你我分开.B 君在玩一个游戏,这 ...

  8. Hadoop权限管理

    1.Hadoop权限管理包括以下几个模块: (1) 用户分组管理.用于按组为单位组织管理,某个用户只能向固定分组中提交作业,只能使用固定分组中配置的资源:同时可以限制每个用户提交的作业数,使用的资源量 ...

  9. Postman-----Response body:JSON value check的使用介绍

     Response body:JSON value check   :检查Response返回的body的某个字段所对应的值是否与预期结果的值相等 1.直接点击 Response body:JSON ...

  10. 一次搞懂 Generator 函数

    1.什么是 Generator 函数 在Javascript中,一个函数一旦开始执行,就会运行到最后或遇到return时结束,运行期间不会有其它代码能够打断它,也不能从外部再传入值到函数体内 而Gen ...