ほんとのこと知りたいだけなのに。

夏休みはもうおわり。

Windows 11 + Emacs(31.0.50) で TypeScript/TSX の LSP 環境を導入する

今までまり必要性がなかったため放置していた LSP(lsp-mode) を導入します。(typescript, tsx を編集する機会が増えたので)

1. 言語サーバーのインストール

まず、TypeScript と言語サーバーをグローバルにインストールします。

npm install -g typescript typescript-language-server

インストール確認:

typescript-language-server --version
tsc --version

2. typescript-language-server への PATH の設定

lsp-mode から typescript-language-server が起動されます。 そのため typescript-language-server への場所に PATH を通しておく必要があります。 init.el などに以下を追加します。

(when (eq system-type 'windows-nt)
  (let* ((userprofile (getenv "USERPROFILE"))
         (volta-bin   (expand-file-name "AppData/Local/Volta/bin" userprofile)))
    (when (file-directory-p volta-bin)
      (add-to-list 'exec-path volta-bin)
      (setenv "PATH"
              (concat volta-bin ";" (getenv "PATH"))))))

3. LSP Mode の設定

;; lsp-mode の基本設定
(use-package lsp-mode
  :init
  (setq lsp-keymap-prefix "C-c l")
  :hook ((typescript-ts-mode . lsp)
         (tsx-ts-mode . lsp)
         (lsp-mode . lsp-enable-which-key-integration))
  :commands lsp
  :config
  ;; パフォーマンス設定
  (setq lsp-idle-delay 0.5
        lsp-log-io nil
        lsp-completion-provider :capf
        lsp-headerline-breadcrumb-enable nil)

  ;; Windows特有の設定
  (setq lsp-enable-file-watchers nil) ;; パフォーマンス向上
  )

;; lsp-ui の設定(UIの改善)
(use-package lsp-ui
  :commands lsp-ui-mode
  :config
  (setq lsp-ui-doc-enable t
        lsp-ui-doc-position 'at-point
        lsp-ui-doc-delay 0.5
        lsp-ui-sideline-enable t
        lsp-ui-sideline-show-hover t))

4. TypeScript Mode の設定

(use-package typescript-ts-mode
  :mode (("\\.ts\\'" . typescript-ts-mode)
         ("\\.tsx\\'" . tsx-ts-mode))
  :config
  (setq typescript-ts-mode-indent-offset 2))

参考リンク

WSL2 (Ubuntu) で「みかちゃんフォント」を使えるようにする。

WSL2 (Ubuntu) で「みかちゃんフォント」を使えるようにする。

昔常用していた みかちゃんフォント。 最近は PM業 がメインだったので、だいぶ利用していなかったが利用を再開してみる。

1. フォントの準備

FREEフォントケンサク から みかちゃんフォントダウンロード する。

ダウンロードしたものは解答してください。

2. Ubuntu 側にフォントディレクトリを作成

Ubuntu のターミナルを開き、フォントを格納するディレクトリを作成します。

sudo mkdir -p /usr/share/fonts/truetype/mikachan

3. Windows から Ubuntu へフォントをコピー

Windows 側のフォルダパスを指定してコピーします。

sudo cp /mnt/c/Users/{ユーザー名}/Downloads/mikachan/mikachan/みかちゃん.ttf /usr/share/fonts/truetype/mikachan/

4. フォントキャッシュの更新

システムに新しいフォントを認識させます。

sudo fc-cache -fv

5. 確認

以下で、一覧に「みかちゃん」が表示されれば成功になります。

fc-list :lang=ja | grep "mikachan"

Windows 11 で Emacs 30.2 をビルド WSL2(Ubuntu)

なんか最近は Emacs のビルドばかりしている。 やっと手順が安定してきた。 やはりタグ貼ってあるものを利用しないと辛い。

1. ビルド環境の準備

まずはシステムを更新し、コンパイルに必要な基本ツールをインストールします。

sudo apt update && sudo apt upgrade -y
sudo apt install -y
     build-essential \
     git \
     autoconf \
     texinfo \
     libgnutls28-dev \
     libxml2-dev \
     libncurses5-dev \
     libjansson-dev \
     libgccjit-12-dev \
     libsqlite3-dev \
     libtree-sitter-dev \
     libwebp-dev \
     librsvg2-dev \
     libmagick++-dev \
     libpng-dev \
     libjpeg-dev \
     libgif-dev \
     libtiff-dev \
     liblcms2-dev \
     libharfbuzz-dev \
     libgtk-3-dev \
     libxpm-dev \
     mailutils

2. ソースコードの取得

ダウンロード用のディレクトリを作成し、クローンします。

mkdir -p ~/tmp
cd ~/tmp
git clone https://github.com/emacs-mirror/emacs.git
cd emacs
git checkout emacs-30.2

3. ビルド設定 (Configure)

WSL 環境で Native Compilation を活かしつつ、GUI でも動作するように設定します。

./autogen.sh

./configure --with-native-compilation=aot \
            --with-pgtk \
            --with-tree-sitter \
            --without-pop \
            --with-mailutils \
            CFLAGS="-O3 -march=native"

4. コンパイルとインストール

CPU コアをフル活用してビルドします。

# ビルド実行(Native Comp 有効時は時間がかかります)
make -j$(nproc)

# インストール(Ubuntu 標準のパス /usr/local/bin 等へ)
sudo make install

5. 起動確認

WSL ターミナルから以下のコマンドで起動します。

emacs &

6. クリップボードの同期設定

以下を init.el に追加

(setq select-enable-clipboard t)    ; クリップボードと同期
(setq select-enable-primary t)      ; セレクション(中クリック)と同期

環境

項目 内容
Distributor ID Ubuntu
Description Ubuntu 24.04.3 LTS
Release 24.04
Codename noble
gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
make GNU Make 4.3