「Atom」でのC言語学習環境を整える
前置き
エディタ「Atom」をインストールしてから、C言語の学習環境を整えるのに、随分手間取ってしまった。
以下、直面したトラブルや、調べるのに時間を費やしてしまったこと(解決済)。
- 「Linter」が上手く機能しない
- 「gpp-compiler」で文字化け&データ消失
- パッケージを導入してはみたものの、自動補完が自分好みでない
- 自作した自動補完が上書きできない
- 「//」ではなく、こっちのコメントアウト「/* */」を手軽に打てるようにしたい
- ソースコードを書いたときに、ヘッダの部分を自動でつけたい
これらに4、5日吸い取られたけど、一応全て解消できたので、まあ良しとしよう。
次回以降の手間を省くため、インストール後の手順を以下に記した。
環境
OS: Windows 10
システム: 64 ビット オペレーティング システム、x64 ベース プロセッサ
Atom: 1.19.5、x64
インストール後の手順
1.「Welcome Guide」をオフにする
- 「■ Show Welcome Guide when opening Atom」のチェックを外す
ついでに、開かれているタブ「Telemery Consent」で、YesかNoの選択。
入力パターンを自動で収集されるのが嫌なら、No。
特に問題ないなら、Yesといった具合。
2.パッケージのインストール
- 「Ctrl-,」を入力すると、「Settings」のタブが開けるので、「Install」を選択。
- 「Search packages」と書かれている検索Boxで、下記を検索してインストール。
日本語のメニューにしたい場合は、これもインストール(ここではインストールしていない)
3.各種設定
- 「Editor」の「Show Indent Guide」と「Show Invisibles」をオン。
- 「Soft Tabs」をオフ、「Tab Length」の欄に「4」を入力、「Tab Type」を「Auto」に変更。
- パッケージの設定変更は以下の画像のように、「Packages」に移動してから、インストール済みのパッケージにある「Settings」をクリック。
(1)「docblockr」の設定
- あまりこだわる必要もないが、一応「C style block comments」をオンに。
(2)「file-header」の設定
- 「Real Name」の欄に自分の名前を入れる
- 「Email Address」の欄を入力し、「Enable Filename」をオン。
- 「Date Time Format」の欄に
を入力↓
- 「Number of Empty Lines after New Header」の欄に「1」を入力
- 「Ignore List for Auto Update and Adding Header」の欄に
以下を追加で入力
↓
(3-1)「gpp-compiler」の設定(Shift-JISでC言語学習をする場合)※推奨
- 「C Compiler Options」の欄には何も入力せず、空欄のままにする。
- ソースコードに日本語を書く必要がある場合、「Core」の設定画面で「File Encoding」の欄を「Japanese (Shift JIS)」に変更。
「html」など、他の言語の編集作業をする際には、デフォルトの「Unicode (UTF-8)」に戻す。
※文字コードの切り替えは忘れやすいので、パッケージ「project-manager」を導入することで回避するのがベター。
(3-2)「gpp-compiler」の設定(UTF-8でC言語学習をする場合)※非推奨
- 「C Compiler Options」の欄に
を入力↓
C言語の学習が終わったら、「C Compiler Options」の入力欄は空欄に戻し、Cのソースコードに日本語を書くのを直ちにやめる。
(4)「linter-gcc」の設定
- 「Linter on-the-fly」をオンにする。
(5)「sublime-block-comment」の設定
- 「Pad with spaces」をオンにする
4.「Config」の設定
- まず「File」を開き、「Config...」をクリック。
- 「config.cson」というファイルが開くので、そこに以下を追加。
5.「Snippets」の設定
- 次に、「File」を開き、「Snippets」をクリック。
- 「snippets.cson」というファイルが下のように開く。
このファイルに http://lightology.hatenablog.com/entry/2017/09/07/102102 にあるテキストをコピーして、張り付ける。
まとめ
パッケージの説明が全然できず、導入した理由も書けなかった。。。
別のエントリになるだろうけど、頑張ってそのうち書きたい。
そういえば、「Snippets」に関して「autocomplete-clang」があるけど、あれはC++向けみたいだから、Cはあまり充実してない印象だった。
そもそもCの自動補完は、デフォルトで入ってるパッケージによって、次のページ:
から「Snippets」を取得してるっぽい。
でも、正直粗があるし、修正の反映も遅いみたい?だから、自作してガンガン修正したほうが手っ取り早い。
GitHubアカウントを作って、修正に協力した方が良いとも思うけど、まだシステムをよく理解してないから、おいおいという感じだな。