快適PythonコーディングのためのAtom環境設定

# An Atom setting for efficient Python coding
快適にPythonコーディングを行うための個人的Atom環境設定です。

---
#### Update
- 13-11-2020: added tablr, date, show-ideographic-space
- 
---

## Prerequisite
- Windows 10
- `atom`
- `git` 2+
- `python` 3.8+
- Kite Engine

### Installations
- install [atom](https://atom.io/)
- install [git](https://git-scm.com/)
- install [python](https://www.python.org/downloads/) with pip
- install [Kite Engine](https://www.kite.com/)

## Basic utilities
### autocomplete-paths
- [autocomplete-paths](https://atom.io/packages/autocomplete-paths) for path autocompletion

```
> apm install autocomplete-paths
```

### Counter
- [counter](https://atom.io/packages/counter) for counting lines, words, and characters in the current document/section

```
> apm install counter
```

### Highlight-selected
- [highlight-selected](https://atom.io/packages/highlight-selected) for highlighting selected word (double clicking)

```
> apm install highlight-selected
```

### Split-diff
- [split-diff](https://atom.io/packages/split-diff) for checking diffs between two texts

```
> apm install split-diff
```

### Tablr
- [tablr](https://atom.io/packages/tablr) as csv viewer

Note: use the git repository below

```
> apm install https://github.com/mfripp/atom-tablr.git
```

### Date
- [date](https://atom.io/packages/date) for date, time, datetime inputs

```
> apm install date
```

### Show-ideographic-space
- [show-ideographic-space](https://atom.io/packages/show-ideographic-space) for showing show ideographic spaces ("　", U+3000, known as FULLWIDTH SPACE).

```
> apm install show-ideographic-space
```

## Projects
### Project-manager
- [project-manager](https://atom.io/packages/project-manager) for saving and opening projects

```
> apm install project-manager
```

### File-icons
- [file-icons](https://atom.io/packages/file-icons) for photogenic icons in in the Atom tree-view

```
> apm install file-icons
```

### Project-view
- [project-view](https://atom.io/packages/project-view) for showing project details in the Atom tree-view

```
> apm install project-view
```

### Tree-view-git-status
- [tree-view-git-status](https://atom.io/packages/tree-view-git-status) for showing Git repository status in the Atom tree-view

```
> apm install tree-view-git-status
```

## Version control
### Git-plus
- [git-plus](https://atom.io/packages/git-plus) allows git commands in Atom

```
> apm install git-plus
```

### Git-log
- [git-log](https://atom.io/packages/git-log) creates a graph of git comments and comments

```
> apm install git-log
```

### Git-time-machine
- [git-time-machine](https://atom.io/packages/git-time-machine) enables efficient exploring of git history

```
> apm install git-time-machine
```

## Linter, Autocompletion, Code formatter
### Linter
- [linter](https://atom.io/packages/linter) for a base linter provider

```
> apm install linter
```

### Linter-UI-Default
- [linter-ui-default](https://atom.io/packages/linter-ui-default) provides the default UI for linter

```
> apm install busy-signal intentions linter-ui-default
```

### Linter-pylint
- [linter-pylint](https://atom.io/packages/linter-pylint) provides linter with pylint

```
> pip install pylint
> apm install linter-pylint
```

### Linter-pycodestyle
- [linter-pycodestyle](https://atom.io/packages/linter-pycodestyle) provides linter with pycodestyle (pep8)

```
> pip install pycodestyle
> apm install linter-pycodestyle
```

### Linter-pydocstyle
- [linter-pydocstyle](https://atom.io/packages/linter-pydoctyle) provides linter with pydocstyle (pep257)

```
> pip install pydocstyle
> apm install linter-pydocstyle
```

### Linter-flake8
- [linter-flake8](https://atom.io/packages/linter-flake8) for flake8 provider for linter

```
> pip install flake8 flake8-docstrings hacking
> apm install linter-flake8
```

### Linter-mypy
- [linter-mypy](https://atom.io/packages/linter-mypy) provides warnings related to Python optinal static type as defined in PEP484

```
> pip install mypy
> apm install linter-mypy
```

### Autocomplete-python
- [autocomplete-python](https://atom.io/packages/autocomplete-python) provides autocompletion powered by Jedi or Kite

```
> apm install autocomplete-python
```

### Hyperclick
- [hyperclick](https://atom.io/packages/hyperclick) provides go to definition function

```
> apm install hyperclick
```

### Atom-beautify
- [atom-beautify](https://atom.io/packages/atom-beautify) provides code-formatter with autopep8

```
> pip install autopep8
> apm install atom-beautify
```

### Python-docstring
- [python-docstring](https://atom.io/packages/python-docstring) adds a simple docstring to python codes

```
> apm install python-docstring
```

## Markdown writing
### Document Outline
- [document-outline](https://atom.io/packages/document-outline) displays a hierarchical, interactive outline tree view for document markup

```
> apm install document-outline
```

### Markdown-Writer
- [markdown-writer](https://atom.io/packages/markdown-writer) adds many features to make Atom a better marcdown editor

```
> apm install markdown-writer
```

### Markdown-scroll-sync
- [markdown-scroll-sync](https://atom.io/packages/markdown-scroll-sync) auto-scrolls markdown-preview tab to match markdown source

```
> apm install markdown-scroll-sync
```

### Toolbar for Markdown-Writer
- [tool-bar-markdown-writer](https://atom.io/packages/tool-bar-markdown-writer) provides a tool-bar plugin that adds markdown editing buttons

```
> apm install tool-bar tool-bar-markdown-writer
```

### Markdown to PDF
- [markdown-pdf](https://atom.io/packages/markdown-pdf) converts markdown files to pdf

```
> apm install markdown-pdf
```

### Markdown-table-editor
- [markdown-table-editor](https://atom.io/packages/markdown-table-editor) provides markdown table editor/formatter

```
> apm install markdown-table-editor
```

### Atom-csv-markdown
- [atom-csv-markdown](https://atom.io/packages/atom-csv-markdown) converts csv text to markdown table

```
> apm install atom-csv-markdown
```

## Minimap
### Minimap
- [minimap](https://atom.io/packages/minimap) provides a preview of the full source code

```
> apm install minimap
```

### Minimap-cursorline
- [minimap-cursorline](https://atom.io/packages/minimap-cursorline) displays Atom cursorline in the minimap

```
> apm install minimap-cursorline
```

### Minimap-find-and-replace
- [minimap-find-and-replace](https://atom.io/packages/find-and-replace) displays the search matches in the minimap

```
> apm install minimap-find-and-replace
```

### Minimap-highlight-selected
- [minimap-highlight-selected](https://atom.io/packages/highlight-selected) displays the highlighting of selection in the minimap

```
> apm install minimap-highlight-selected
```

### Minimap-split-diff
- [minimap-split-diff](https://atom.io/packages/split-diff) displays split-diffs in the minimap

```
> apm install minimap-split-diff
```

### Minimap-linter
- [minimap-linter](https://atom.io/packages/linter) displays linter indications in the minimap

```
> apm install minimap-linter
```

## Debugger
### Python-debugger
- [python-debugger](https://atom.io/packages/python-debugger) provides an IDE-like Python debugging experience

```
> apm install python-debugger
```

## IPython kernel with Jupyter
### Hydrogen
- [hydrogen](https://atom.io/packages/hydrogen) is an interactive coding environment that support Python and other Jupyter kernels

```
> pip install jupyter (optional: numpy, pandas, matplotlib)
> apm install hydrogen
```

### Hydrogen Launcher
- [hydrogen-launcher](https://atom.io/packages/hydrogen-launcher) for opening a terminal

```
> apm install hydrogen-launcher
```

### Python language-specific extensions for Hydrogen
- [hydrogen-python](https://atom.io/packages/hydrogen-python) provides a variable explorer etc.

```
> apm install hydrogen-python
```

### Data Explorer
- [data-explorer](https://atom.io/packages/data-explorer) provides an interactive data explorer environment with nteract

```
> apm install data-explorer
```

### Markdown-cell-highlight
- [markdown-cell-highlight](https://atom.io/packages/markdown-cell-highlight) highlights code cells in markdown files

```
> apm install markdown-cell-highlight
```

### Hydrogen-cell-separator
- [hydrogen-cell-separator](https://atom.io/packages/hydrogen-cell-separator) separates hydrogen cells with horizontal lines

```
> apm install hydrogen-cell-separator
```

### Cell-navigation
- [cell-navigation](https://atom.io/packages/cell-navigation) provides navigation, movements and selections of code cells defined by `# %%`

```
> apm install cell-navigation
```

<!--
## Terminal
### Platformio-IDE-Terminal
- [platformio-ide-terminal](https://atom.io/packages/platformio-ide-terminal) provides a ternimal in the Atom

```
> apm install platformio-ide-terminal
```
-->