Uses
By Mike Street
I've had a few questions regarding what editor/terminal apps I use, with themes and settings. This is an up-to-date blog post with the answers.
Code Editor
My code editor of choice is Atom.
- UI Theme: One Dark
- Syntax Theme: One Dark
- Font: Cousine (which is a Google Font)
Config
I also use hard tabs and show invisibles, to help with indenting and identifying when it is not up to scratch! My full Atom config can be found below:
Full Atom config file
"*": "atom-beautify": css: {} general: beautifyEntireFileOnSave: false html: {} scss: {} vue: {} "autocomplete-plus": confirmCompletion: "tab" strictMatching: true core: automaticallyUpdate: false disabledPackages: [ "atom-typescript" "csslint" "language-liquid" "emmet" "linter-htmlhint" "devdocs" ] restorePreviousWindowsOnStart: "no" telemetryConsent: "no" themes: [ "pristine-ui" "one-dark-syntax" ] titleBar: "custom" csslint: validateOnChange: true editor: fontFamily: "Cousine" fontSize: 12 invisibles: {} showIndentGuide: true showInvisibles: true softTabs: false softWrap: true tabLength: 4 tabType: "hard" emmet: {} "exception-reporting": userId: "3ffdb73e-c23e-9d0d-3f06-e3c9e7b40602" "file-icons": forceShow: true "flex-tool-bar": {} "git-go": {} "git-plus": {} linter: statusBar: "Show error if the cursor is in range" "linter-eslint": disableEslintIgnore: true disableWhenNoEslintConfig: false eslintRulesDirs: [ "/Users/mike/" ] eslintrcPath: "/js-lint/rules-eslint.js" globalNodePath: "/usr/local" useGlobalEslint: true "linter-sass-lint": globalNodePath: "/usr/local" "linter-scss-lint": configName: "/tpl/lint-config.yml" "linter-stylelint": disableWhenNoConfig: false "linter-ui-default": panelHeight: 155.125 minimap: plugins: bookmarks: true bookmarksDecorationsZIndex: 0 codeglance: false codeglanceDecorationsZIndex: 0 "find-and-replace": true "find-and-replaceDecorationsZIndex": 0 "git-diff": true "git-diffDecorationsZIndex": 0 "highlight-selected": true "highlight-selectedDecorationsZIndex": 0 linter: true linterDecorationsZIndex: 0 pigments: true pigmentsDecorationsZIndex: 0 "one-dark-ui": {} "package-sync": createOnChange: true pigments: autocompleteScopes: [ "_variables.scss" ] groupPaletteColors: "by file" notifyReloads: false sortPaletteColors: "by name" "prettier-atom": formatOnSaveOptions: {} prettierEslintOptions: prettierLast: true prettierOptions: bracketSpacing: false printWidth: 170 singleQuote: true useTabs: true useEditorConfig: false useEslint: true "pristine-ui": {} "project-manager": includeGitRepositories: true sortBy: "group" "svg-preview": {} "tool-bar": iconSize: "16px" position: "Left" visible: false "tree-view": hideVcsIgnoredFiles: false showOnRightSide: false "web-browser": {} welcome: showOnStartup: false whitespace: ensureSingleTrailingNewline: false ".diff.source": editor: tabLength: 4 ".source.typoscript": editor: softTabs: true tabLength: 2 tabType: "soft"
Snippets
I make use of snippets to save those extra few character strokes.
Atom Snippets
'.source.js': 'console.log': 'prefix': 'log' 'body': 'console.log(${1});''.source.scss':
'margin-right': 'prefix': 'mr' 'body': 'margin-right: ${1}'
'background': 'prefix': 'back' 'body': 'background: ${1}'
'CSS custom variable': 'prefix': 'var' 'body': 'var(--${1})'
Keymap
My keymap file has a few custom modifications for quick formatting.
Atom Keymaps
'atom-text-editor': 'ctrl-cmd-]': 'editor:auto-indent''atom-text-editor:not([data-grammar*="js"]):not([data-grammar*="vue"])': 'ctrl-cmd-[': 'atom-beautify:beautify-editor'
'atom-text-editor[data-grammar*="js"]': 'ctrl-cmd-[': 'prettier:format'
'atom-text-editor[data-grammar*="vue"]': 'ctrl-cmd-[': 'prettier:format'
Packages
And lastly, the packages I have installed. When setting up a new machine, I copy across the pakages.cson
and use package-sync to install them all.
Atom Packages
packages: [ "ascii-unicode-escape" "autocomplete" "autocomplete-php" "autocomplete-sass" "busy-signal" "compare-files" "css-snippets" "delete-lines" "docblockr" "dracula-syntax" "file-icons" "git-plus" "highlight-selected" "html-entities" "intentions" "isotope-ui" "jquery-snippets" "language-diff" "language-twig" "language-vue" "linter" "linter-eslint" "linter-php" "linter-scss-lint" "linter-ui-default" "minimap" "minimap-bookmarks" "minimap-find-and-replace" "minimap-git-diff" "minimap-highlight-selected" "minimap-linter" "minimap-pigments" "package-sync" "pigments" "prettier-atom" "pristine-ui" "project-manager" "space-tab" "split-diff" "typo3" ]