Download and install Atom Editor:
cd ~/Downloads
wget https://github.com/atom/atom/releases/download/v1.15.0/atom-amd64.deb
sudo dpkg -i atom-amd64.deb
Install required SO packages:
sudo apt install php php-sqlite3 php-mbstring sqlite3 composer npm
atom-beautify uses JS Beautify by default.
sudo npm -g install js-beautify
apm install atom-beautify
For PHP, atom-beautify follow coding standards from php-codesniffer.
Install php-codesniffer:
sudo apt install php-codesniffer
After, you can see the default Standards with the command phpcs -i
. The output will be like:
The installed coding standards are PEAR, Squiz, MySource, PHPCS, Zend, PSR1 and PSR2
CodeIgniter has your own Codeing Standard and the CodeIgniter-for-PHP_CodeSniffer follow this rules.
We can install the CodeIgniter Standard as follow:
mkdir CodeIgniter-for-PHP_CodeSniffer
cd CodeIgniter-for-PHP_CodeSniffer
wget https://github.com/thomas-ernest/CodeIgniter-for-PHP_CodeSniffer/archive/master.zip
unzip master.php
Now, lets put the src folder in the correct path:
sudo cp -r CodeIgniter-for-PHP_CodeSniffer-master/src/ /usr/share/php/PHP/CodeSniffer/Standards/CodeIgniter/
Now, the output of phpcs -i
will be:
The installed coding standards are PEAR, Squiz, MySource, PHPCS, Zend, PSR1, PSR2 and CodeIgniter
If do you wnat, you can change the PHPCBF Standard to CodeIgniter
.
TODO: Is possible setup PHPCBF Standard by project-manager file?
sudo npm -g install linter
sudo npm -g install htmlhint
sudo npm -g install csslint
sudo npm -g install jshint
apm install linter
apm install linter-htmlhint
apm install linter-csslint
apm install linter-jshint
PHP Integrator is a powerfull project that provides code analysis and utilities for PHP projects.
PHP Integrator uses composer to install the core and you need install the correct version corresponding to the php-integrator-base version.
composer global require php-integrator/core 2.1.1
PHP Integrator uses the project-manager to activate resources based by project.
Lets install the Atom packages:
apm install project-manager
apm install php-integrator-base
apm install php-integrator-linter
apm install php-integrator-annotations
apm install php-integrator-autocomplete-plus
apm install php-integrator-call-tips
apm install php-integrator-navigation
apm install php-integrator-tooltips
apm install php-integrator-refactoring
When you works on a CodeIgniter 3 project you can download this file https://raw.githubusercontent.com/natanfelles/codeigniter-phpstorm/master/phpstorm.php inside your project root.
After go to Atom and open the menu Packages > Project Manager > Edit Projects and configure your project like it:
{
title: "CodeIgniter 3"
paths: [
"/home/username/codeigniter3"
]
icon: "icon-flame"
devMode: false
php:
enabled: true
php_integrator:
enabled: true
phpVersion: 5.6
excludedPaths: [
"{0}/application/cache/",
"{0}/application/logs/",
"{0}/system/core/Controller.php",
"{0}/system/core/Model.php"
]
fileExtensions: [
"php"
]
}
This tip will do PHP Integrator do not read the Controller.php
and Model.php
from the system folder, then it will use all the @property
from phpstorm.php
file.
You can read more about it in Code Completion for CodeIgniter in phpStorm and here Excluding Folders From Indexing.
On CodeIgniter 4 you do not need do this config. PHP Integrator will works natively well.
Some extra packages that I like:
apm install atom-ternjs
apm install color-picker
apm install pigments
apm install git-plus
apm install docblockr
apm install bootstrap3-snippets
apm install file-icons
apm install editorconfig
apm install todo-show
apm install highlight-selected
apm install emmet
apm install minimap
apm install language-htaccess
apm install language-markdown
apm install linter-write-good
apm install linter-json-lint
apm install api-docs
apm install sync-settings