ここは楽しいインターネッツですね

ようこそ楽しいインターネッツへ。ここは@_8gnのメモ置き場です。

Atom構築実況 package入れつつCコンパイルできる環境を作る

※この記事は大学の授業でほぼ初めてCを触ることになった大学生がAtomの環境構築をそのまま実況、行動を文字起こしし、のちに見返して原因を探ったり反省したり、成長してから「若かったなぁこの頃は…」と浸るためのメモ書きです。どうぞ温かい目でお守りください。

構築終わったらガイドやおすすめpackageでもまとめるかも

前書き

Visual Studioを大学の授業で使っていて自宅のPCにもインストールしプログラムを書いていたのだが

カーソル移動がとてもしにくい…。

Atomをちょこっと触ってた時に愛用してた拡張機能『Jumpy』が死ぬほど使いたくなったので、

AtomにてCのコンパイルができる環境を構築することにした。

ついでと、大学の友人に説明するときに説明しやすいようメモ代わりに実況の形で行動を文字に起こすとする。

//-----------------------ここから環境構築後のあとがき------------------------

来ないとは思いますがこのブログを見てAtomのCを導入しようとしている方はまずはここを上から順序よく読んでいくことをお勧めします。とても分かりやすいですよ!

gabekore.org

 目次  一通り書いてから振り返りやすいように目次付けてます。

あとがきを最初のほうに持ってくるの、キノの旅を思い出して楽しい。

//-----------------------環境構築後のあとがきおわり--------------------------

 

導入(導入)

まずはAtom本体を導入、Welcome Guide→Install a Packageでpackageを導入する。

packageとはChrome拡張機能のようなものである。

packageの中には日本語化をするものも入っており、日本語化させたいのでまずはpackageを先に入れる。C周りのは後回しで。package入れるの楽しいしネ!

blog.suginoki.xyz

gabekore.org

ここら辺のサイトさんから入れたい物を入れているので大体内容は被ってます

導入したpackage(第一弾)

japanese-manu

日本語化

 

color-picker

色をGUIで指定できるようになる

 

highlight-selected

ダブルクリックしたときに同じ単語を全て強調表示する

Visual Studioをちょっと触ってたからこれがあると捗る

 

jumpy

ファイルの任意の場所にshift+Enter と2文字で好きな場所に飛べるpackage。

このためにAtom導入した。こいつがあるとめttttっちゃ捗る。

しかも飛んだ時のアニメが良い。まるで蝶だよぼくは。

https://raw.githubusercontent.com/DavidLGoldberg/jumpy/master/_images/jumpy.gif

jumpy githubより引用

 

linter

構文ミスがあると教えてくれる。コードを実行せずとも教えてくれる静的解析なるものらしい。

各言語プラグインも一緒にインストールする必要あり

linter導入するとこいつもインストールしたほうがいいぜ!みたいなやつが出てきたからとりあえず脳死でインストールしました、後で調べます

 

linter-gcc

linterのC,C++プラグイン

 linter-gccで突っかかる。

----!!!ここでlinter-gccのエラー発生。

f:id:gi__n:20170603194635p:plain

 

github.com

ありがたいことにエラーfixが上がっていたのでアメリカ語を解読することにする

 

ここでgccのreadmeを眺めていたところ「cmake」という単語を発見し、

qiita.com

ここのページを発見したので試しにlinterではなく、「c」なる静的解析ツールがあり、それを利用したpackage群があるらしいので試しにそれを実装することに

 

ひとまずlinter周りのpackageを無効にし、

 

cppcheck.sourceforge.net

Cppcheckを導入。

と、ここで俺氏GCCがC、C++コンパイラーであることを知る

自分がこのMinGWを導入していなかったがためにlinter-gccが動かなかったことに気づく。

yohshiy.blog.fc2.com

ここを参考にしつつGCCを使うためにMinGWを導入、

インストーラを実行、installation managerにてC,C++を導入するにはmigw32-base, mingw32-gcc-g++のみで十分(それぞれ詳しくは上のリンクに説明が載ってます。)

 

インストールが完了したら「環境変数 PATH」なる単語出現。

 

  環境変数とは、OSの環境をカスタマイズするためのシステム変数である。 主に、言語環境(Encoding)、パス、端末タイプ、シェルなどを設定するために使用するが、ログインユーザ毎に自由に名前を付けて設定することもできる。

DOSプロンプト

 なるほど。そういうものがあるのか。

C\MinGW\bin

環境変数のPATHに追加、ようやくターミナルでgccしてまともな返答が帰ってくるようになった。

そしてそもそもとして上の方でリンクを張ったブログで、至極丁寧に「gccとは、MinGWとはなんぞや」から一つ一つ丁寧に書いていらっしゃるのに気づく

packageの中には日本語化をするものも入っており、日本語化させたいのでまずはpackageを先に入れる。C周りのは後回しで。package入れるの楽しいしネ!

・・・。

な~~~~~にが「楽しいしネ!」じゃ!!!!お前が上から順序よく読んどけば右往左往しなくて済んだやんけ!!!!!!!1111

 

気を取り直して作業に戻る。GCCの導入が完了したのでlinter-gccの設定をし直す。

 

Atomの設定からpackage→linter-gccGCC Executable Pathに

C\MinGW\bin\gcc.exe を設定。

.cのファイルを作り適当に間違ったコードを書いて保存、これでうまくいけばlinter-gccの静的解析が働いてくれるはず、働いてくれず、、、

 

どこまで出来ててどこから出来ていないのか探る。

ターミナルで適当に作った.cのファイルを実行してみる。

しっかりエラー吐いて怒ってくれる。

思った通りに動いてくれるとエラー吐かれても気持ちがいい。 

packageの設定変更後なのでいったんAtomを再起動してみる。

動いた!!!!!!!

package導入(その2)

残りのpackageを導入する

 

platformio-ide-terminal

Atom上からターミナルを起動するpackage

ここで試しにターミナル上からpackageを導入してみる。

apm install platformio-ide-terminal              

 

(メジャーなTerminal-Plusはカーソルが点滅するだけで動かず。再起動、再インストールなどもダメだったので別のを試してみる)

 

atom-beautify

ソースコード成形package。Cを整形する場合↓からUncrustifyをダウンロードし、いろいろする必要あり。整形の設定も自分で作る必要があるらしいので後回し

sourceforge.net

center-line

現在行をWindowの中央にスクロールしてくれる。

これを使用するなら language-c(atomC言語全般についてのプリインストールpackage。)の設定からscrollPastEndにチェックをしておく

 

auto-encoding

文字コードをある程度自動認識してくれる拡張機能

 

minimap

必須

 

minimap-linter

Minimapにlinterのアレを表示してくれるminimapのプラグイン

 

minimap-autohide

minimapを自動で隠してくれるプラグイン。でもlinterの結果も見たいし今回は導入しなくていいかな

 

minimap-cursorline

minimap上でカーソル行をハイライトしてくれるやつ

 

minimap-highlight-selected

highlight-selectedで選択した単語をminimap上にも表示してくれる奴

 

pigments

ありのままの色を、ありのままの色で。

 

 

環境構築、オワリ!!!!!!!