Files
dotfiles/note/tools.org
2019-10-30 19:35:29 +08:00

5.4 KiB
Raw Blame History

各种开发工具配置

Indium

Indium 是一个可以在 Emacs 里直接调试运行在 Chrome 中的 JavaScript 的软件。

感觉双屏用这个软件应该会很爽。安装使用步骤如下:

安装服务端

  npm install -g indium

安装 Emacs 客服端

  ;; 直接从melpa源里安装
  (require-package 'indium)

  ;; 配置
  (require 'indium)
  (add-hook 'js-mode-hook 'indium-interaction-mode)

indium 配置文件: .indium.json

  {
    "configurations": [
      {
        "name": "Indium Demo",
        "type": "chrome",
        "host": "0.0.0.0",
        "post": 9222,
        "url": "http://0.0.0.0:3000"
      }
    ]
  }

配置项说明:

name: 随便起一个就好

type: Chrome 调试直接写 chrome 就行了,其他参考Indium Setup

host: 本地调试地址

port: Chrome 的调试协议端口号,和项目无关,和 Chrome 的启动参数有关

url: 项目的首页地址,按项目设置

启动 Chrome

在命令行里启动 Chrome 的时候带上参数

  chrome --remote-debugging-port=9222

Gentoo 里面,自己编译的 Chromium 中,有个配置文件 /etc/chromium/default

其中有 CHROMIUM_FLAGS 配置项,将其设置为上面启动参数的内容即可。即:

  CHROMIUM_FLAGS="--remote-debugging-port=9222"

开始调试

在要调试的 JavaScript 文件中执行 Emacs 命令 indium-connect 即可开始调试

  (indium-connect)

用快捷键或 Indium 插件提供的命令加入断点,即可开始愉快的调试了。

更多用法参考Indium手册

Input method

有时候输入法在 firefox 中不工作,这是因为设置不对造成的,通过查询资料,最终 在 archwiki 中找到方法,将 .xprofile 文件中的

  export XMODIFIERS=@im=SCIM
  export GTK_IM_MODULE="scim"
  export QT_IM_MODULE="scim"

改成

  export XMODIFIERS=@im=SCIM
  export GTK_IM_MODULE="xim"
  export QT_IM_MODULE="scim"

即可解决该问题。

rime升级问题

librime 升级到 1.5.3 版本时, fcitx-rime 无法使用,同时在 Emacs 中通过 pyim 使用 rime 输入法也没法工作,通过安装 ibus-rime 测试,发现也不工作, 但将 librime 降回 1.4.0 版本时,汉字可正常输入,故判定该问题是新版本的 librime 引起到。 由此,将 librime-1.5.3 加入到 package.mask 中使其不升级,问题解决

[2019/8/24]今天发现上面的问题并不成立,这段时间在网上搜索,并没有发现相似的问题, 故怀疑是 librime 配置的问题,最终发现在 installation.yaml 中, 有 rime-version: 1.4.0 这样的配置,想到是否 librime 升级之后是否需要重新生成 用户词库相关的文件,将之前的词库删除后重启 fcitx 输入法发现, librime-1.5.3 能正常工作了。该问题解决。

结论: 升级 librime 后,需要删除相关词库数据,重新生成

双系统时间问题

LinuxWindows 双系统时区不统一的问题,该问题是因为兩个系统的时区标准 不同, Windows 系统显示的是 BIOS 时间, Linux 则是将 BIOS 时间作为 UTC 时间,具体显示的是各个地区的时间。 解决办法为,修改注册表,使 Windows 也采用与 Linux 相同的时间策略,修改 代码为

  Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v
  RealTimeIsUniversal /t REG_DWORD /d 1

Firefox播放网易云音乐问题

不知道从哪个版本开始Firefox播放网易云音乐的声音很奇怪通过网络查询MSE 的问题,在浏览器这中禁用 MSE 即可!禁用方法:

  1. about:config -> media.mediasource.enable 改成 false 即可
  2. 现该问题网易云音乐已修复该bug

pcmanfm安装不上到问题

安装 pcmanfm 时发现, libfmmenu-cache 之间出现了循环依赖问题, 导致安装这两个 package 的时候会安装不上,并且依赖这两个 package 的软 件由于这两个 package 装不上,也会无法安装,经上网查询,早在 20178 月的时候就有人提出了相同到问题,当时的 libfm 版本是 1.2.5 ,并且 libfm 官方已经修复了该问题,现在在 libfm-1.3.1 中再次出现该问题,解决 办法就是在要安装 libfm 时,先安装 libfm-1.2.5 ,然后通过升级的方式将 libfm 升级到 1.3.1 版本即可。

lsp clangd

配置 clangd 需要在项目根目录下创建一个 compile_commands.json 文件, 其模板如下所示:

  [{
      "directory": "project directory",
      "command": "clang -g -pthread -I<header file directory>",
      "file": "main.c"
  }]

其中 command 参数中的 -I 可以有多个,表示从多个文件夹下导入头文件。