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

151 lines
5.4 KiB
Org Mode
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#+title: 各种开发工具配置
#+author: Zedhugh Chen
* Indium
=Indium= 是一个可以在 =Emacs= 里直接调试运行在 =Chrome= 中的 =JavaScript= 的软件。
感觉双屏用这个软件应该会很爽。安装使用步骤如下:
** 安装服务端
#+BEGIN_SRC shell
npm install -g indium
#+END_SRC
** 安装 =Emacs= 客服端
#+BEGIN_SRC emacs-lisp
;; 直接从melpa源里安装
(require-package 'indium)
;; 配置
(require 'indium)
(add-hook 'js-mode-hook 'indium-interaction-mode)
#+END_SRC
** =indium= 配置文件: =.indium.json=
#+BEGIN_SRC json
{
"configurations": [
{
"name": "Indium Demo",
"type": "chrome",
"host": "0.0.0.0",
"post": 9222,
"url": "http://0.0.0.0:3000"
}
]
}
#+END_SRC
配置项说明:
=name=: 随便起一个就好
=type=: =Chrome= 调试直接写 =chrome= 就行了,其他参考[[https://indium.readthedocs.io/en/latest/setup.html][Indium Setup]]
=host=: 本地调试地址
=port=: =Chrome= 的调试协议端口号,和项目无关,和 =Chrome= 的启动参数有关
=url=: 项目的首页地址,按项目设置
** 启动 =Chrome=
在命令行里启动 =Chrome= 的时候带上参数
#+BEGIN_SRC shell
chrome --remote-debugging-port=9222
#+END_SRC
=Gentoo= 里面,自己编译的 =Chromium= 中,有个配置文件 =/etc/chromium/default=
其中有 =CHROMIUM_FLAGS= 配置项,将其设置为上面启动参数的内容即可。即:
#+BEGIN_SRC conf
CHROMIUM_FLAGS="--remote-debugging-port=9222"
#+END_SRC
** 开始调试
在要调试的 =JavaScript= 文件中执行 =Emacs= 命令 =indium-connect= 即可开始调试
#+BEGIN_SRC emacs-lisp
(indium-connect)
#+END_SRC
用快捷键或 =Indium= 插件提供的命令加入断点,即可开始愉快的调试了。
更多用法参考[[https://indium.readthedocs.io/en/latest/index.html][Indium手册]]。
* Input method
有时候输入法在 =firefox= 中不工作,这是因为设置不对造成的,通过查询资料,最终
在 [[https://wiki.archlinux.org/index.php/Smart_Common_Input_Method][archwiki]] 中找到方法,将 =.xprofile= 文件中的
#+BEGIN_SRC bash
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE="scim"
export QT_IM_MODULE="scim"
#+END_SRC
改成
#+BEGIN_SRC bash
export XMODIFIERS=@im=SCIM
export GTK_IM_MODULE="xim"
export QT_IM_MODULE="scim"
#+END_SRC
即可解决该问题。
** 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= 后,需要删除相关词库数据,重新生成
* 双系统时间问题
=Linux==Windows= 双系统时区不统一的问题,该问题是因为兩个系统的时区标准
不同, =Windows= 系统显示的是 =BIOS= 时间, =Linux= 则是将 =BIOS= 时间作为
=UTC= 时间,具体显示的是各个地区的时间。
解决办法为,修改注册表,使 =Windows= 也采用与 =Linux= 相同的时间策略,修改
代码为
#+BEGIN_SRC bat
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v
RealTimeIsUniversal /t REG_DWORD /d 1
#+END_SRC
* Firefox播放网易云音乐问题
不知道从哪个版本开始Firefox播放网易云音乐的声音很奇怪通过网络查询
=MSE= 的问题,在浏览器这中禁用 =MSE= 即可!禁用方法:
1. about:config -> media.mediasource.enable 改成 false 即可
2. 现该问题网易云音乐已修复该bug
* pcmanfm安装不上到问题
安装 =pcmanfm= 时发现, =libfm==menu-cache= 之间出现了循环依赖问题,
导致安装这两个 =package= 的时候会安装不上,并且依赖这两个 =package= 的软
件由于这两个 =package= 装不上,也会无法安装,经上网查询,早在 =2017=
=8= 月的时候就有人提出了相同到问题,当时的 =libfm= 版本是 =1.2.5= ,并且
=libfm= 官方已经修复了该问题,现在在 =libfm-1.3.1= 中再次出现该问题,解决
办法就是在要安装 =libfm= 时,先安装 =libfm-1.2.5= ,然后通过升级的方式将
=libfm= 升级到 =1.3.1= 版本即可。
* lsp clangd
配置 =clangd= 需要在项目根目录下创建一个 =compile_commands.json= 文件,
其模板如下所示:
#+begin_src json
[{
"directory": "project directory",
"command": "clang -g -pthread -I<header file directory>",
"file": "main.c"
}]
#+end_src
其中 =command= 参数中的 =-I= 可以有多个,表示从多个文件夹下导入头文件。