Theia APIs——Preferences】的更多相关文章

上一篇:Theia APIs——命令和快捷键 Preferences Theia有一个preference service,模块可以通过它来获取preference的值,提供默认的preferences以及监听preference的更改. Preferences的内容可以保存在workspace根目录下的.theia/settings.json中,或者Linux系统的$HOME/.theia/settings.json文件中.在Windows系统中,用户设置默认保存在%USERPROFILE%/…
上一篇:Theia APIs——Preferences 事件 Theia中的事件或许会让你感到困惑,希望本节能阐述清楚. 来看下面的代码: (来自logger-watcher.ts) @injectable() export class LoggerWatcher { getLoggerClient(): ILoggerClient { const emitter = this.onLogLevelChangedEmitter return { onLogLevelChanged(event:…
上一篇:Theia APIs——事件 通过JSON-PRC进行通信 在本节中,我将讲解如何创建后端服务并通过JSON-PRC来连接它. 我将使用debug logging system作为例子来进行讲解. 概述 本示例将用express框架创建一个服务,然后通过websocket连接该服务. 注册服务 首先要做的是将服务公开,这样前端就能连接它. 你需要创建一个后端服务模块(类似logger-server-module.ts): import { ContainerModule } from '…
上一篇:使用Theia——创建语言支持 命令和快捷键 Theia可以通过多种不同的方式进行扩展.命令允许packages提供可以被其它包调用的唯一命令,还可以向这些命令添加快捷键和上下文,使得它们只能在某些特定的条件下被调用(如窗口获取焦点.当前选项等). 在Theia中添加命令 要将命令添加到Theia,必须实现CommandContribution类,如: java-commands.ts @injectable() export class JavaCommandContribution…
前篇文章Android ApiDemo示例解析(31):App->Preferences->Launching preferences 中用到了Advanced preferences 中定义的AdvancedPreferences. 本篇具体介绍AdvancedPreferences, 这个例子称为Advanced ,是因为它涉及到了自定义Preference, 并在一个工作线程中刷新某个Preference的值. Preference 为显示在PreferenceActivity (一般以…
前给例子介绍了如何使用PreferenceActivity 来显示修改应用偏好,用户对Preferences的修改自动存储在应用对应的Shared Preferences中. 本例介绍了如何从一个Activity来取得由PreferenceActivity 的Preference值. 比如在实际应用中通过PreferenceActivity界面来取得用户偏好或是配置. 因为希望从PreferenceActivity返回值,所以使用startActivityForResult 来启动Prefere…
上一篇:Theia——云端和桌面版的IDE 架构概述 本节描述了Theia的整体架构. Theia被设计为一个可以在本地运行的桌面应用程序,也可以在浏览器和远程服务器之间工作.为了支持这两种工作方式,Theia运行在两个独立的进程中,它们被称之为前端和后端,相互之间通过WebSockets上的JSON-RPC消息或HTTP上的REST APIs来通信.对于Electron而言,前端和后端都在本地运行,而在远程上下文中,后端运行在远程服务器上. 前端和后端进行都有它们各自的依赖注入(DI)容器(详…
上一篇:Theia架构 构建你自己的IDE 本指南将教你如何构建你自己的Theia应用. 必要条件 你需要安装node 10版本(译者:事实上最新的node稳定版即可): curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.5/install.sh | bash nvm 以及yarn: npm install -g yarn 还需要确保已安装python 2.x,可通过python --version来检查. 安装 首先…
上一篇:使用Theia——构建你自己的IDE 创建Theia扩展包 本例中,我们将添加一个菜单项“Say hello”用来显示一个通知“Hello world!”.本文将指导你完成所有必要的步骤. Theia的架构 Theia应用程序由所谓的扩展包(extensions)构成.一个扩展包提供一组特定功能的小部件.命令和处理程序等.Theia本身提供了一些扩展包,如编辑器.终端.项目视图等.每一个扩展包都属于它们各自的npm包. Theia定义了大量的contribution接口,允许扩展包将功能…
from: https://segmentfault.com/a/1190000000709909 理由:在操作层面详细的讲解了跨域的操作.尤其是对于option请求的详解.收藏. 在构建Public APIs的过程中,首先要解决的第一个问题就是跨域请求的问题. 网络应用安全模型中很重要的一个概念是“同源准则”(same-origin policy).该准则要求一个网站(由协议+主机名+端口号三者确定)的脚本(Script).XMLHttpRequest和Websocket无权去访问另一个网站的…