話題の記事

WindowsからMacへ開発環境移行しても変わらず使い続けているツールの紹介

2017.12.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

クラスメソッドに入社して、MacBook Proを使い始めてから4ヶ月ほど経過しました。 新卒で働き始めてからクラスメソッドに入社するまでの10年間はWindows環境での作業が中心だったので、開発環境・よく使うツールが結構変わりました。

乗り換えた内容を紹介しようと思いましたが、下記の記事とほぼ同じ乗り換えになりました。

今回はすこし目線を変えて、Windows環境で開発していたときから使い続けているツールを紹介したいと思います。

ツール一覧

使い続けているツールの一覧です。

名前 概要
Vim テキストエディタ
Stackedit Markdownエディタ
JetBrains社製のIDE 各言語の統合開発環境
erd ER図作成ツール
ripgrep ファイル検索ツール
Rust Parallel コマンド並列実行ツール
premake プロジェクト生成ツール

Vim

多くのUnix系OSに搭載されているテキストエディタです。説明は不要でしょう。

私はGUI版を使用することが多く、Windowsは GVim 、 macOSは MacVim を使っています。プラグインのビルド設定やフォント名の指定など、環境にあわせて多少の調整が必要ですが、ほぼ同じ感覚で使えています。

StackEdit

Webで動作するMarkdownエディタです。

ライブプレビュー・スクロール同期の機能があって、動作が軽快で使いやすいです。 全く同じ操作感で使えています。

JetBrains社のIDE

IntelliJやPyCharm・RubyMineなど、多くのプログラミング言語向けに専用のIDEが用意されています。

WindowsとMacで多少キーバインドが異なりますが、機能的にはほとんど差異がなく問題なく移行できました。

ripgrep

grepライクな高速ファイル検索ツールです。

Windows環境でutf-8のファイルを検索するときに、日本語をうまく扱えるコマンドラインツールで重宝していました。とにかく検索が速いです。使ったことがない方にはぜひ試していただきたいです。

erd

GraphvizのDOT言語のように、プレーンテキストでER図を生成するコマンドラインツールです。 Gitなどのバージョン管理ツールと相性がよく、変更内容の差分を確認しやすくて便利です。

サンプル

erd-example.er

[Entry] {bgcolor: "#d0e0d0"}
*id {label: "int, not null"}
author {label: "varchar"}
title {label: "varchar"}
body {label: "varchar"}

[Tag] {bgcolor: "#ececfc"}
*id {label: "int, not null"}
name {label: "varchar"}

[EntryTag] {bgcolor: "#fcecec"}
+entry_id {label: "int, not null"}
+tag_id {label: "int, not null"}

Entry 1--* EntryTag
Tag 1--* EntryTag

以下のコマンドで画像に変換します。

erd -i erd-example.er -o erd-example.png

出力結果です。

拡張子を変更すると他のフォーマットで出力できます。 erdコマンドはGraphvizに依存しているので、対応している出力形式はGraphvizのドキュメントで確認してください。

Rust Parallel

複数のプロセスを並列実行させるコマンドラインツールです。 WindowsとMacで使えるコマンドが違うため動作は異なりますが、parallel コマンド自体は同様の使用感です。

premake

プロジェクトファイルの生成ツールです。

主に C/C++ 言語のプロジェクトの生成で使っていましたが、 C#・F#・D言語にも対応しています。 対象の環境ごとにコンパイラやリンカのオプションを調整する必要がありますが、1つのプロジェクト定義でVisual Studioのソリューション・Makefileを生成できて便利です。

# Visual Studio 2015向けに生成
premake5 vs2015

# GNU Make 向けに生成
premake5 gmake

終わりに

挙げてみるとあまり多くありませんでしたが、開発で使用している主要なツールはほとんどそのまま使用することができました。 今後は積極的に新しいツールを試していきたいと思います。