서브라임텍스트는 개발할 때 주로 사용하는 에디터인데, 기본 편집기능도 좋고, 패키지를 사용하게 되면 훨씬 더 편하게 개발할 수 있다. 이 포스팅에서는 개발할 때 자주 사용하는 패키지를 소개할 것이다.
Sublime Diagram Plugin
평소 서버 구성도, 시퀀스 다이어그램을 그려야 하는 경우가 많이 있다. Dia, 파워포인트, Pencil, yED와 같은 툴을 사용해봤지만, 만족스럽지 않았다. 직접 그리는 방식이라서 배치하는데 신경이 많이 쓰여 흐름이나 배치에 집중하기 어려웠다.
이 플러그인은 다음 프로그램이 준비되어 있어야 한다.
- Java (download from java.sun.com)
- Graphviz (I recommend “homebrew” on the Mac)
- Sublime Text 2 or 3
그리고 서브라임 패키지 인스톨러로 설치가 되지 않기 때문에, 패키지 디렉터리에 직접 설치해야 한다.
# osx
cd ~/Library/Application\ Support/Sublime\ Text\ 3/Packages
# windows
cd "%APPDATA%\Sublime Text 3\Packages"
# 플러그인 소스 가져오기
git clone https://github.com/jvantuyl/sublime_diagram_plugin
Git Plugin
서브라임 텍스트에서 git을 편하게 사용할 수 있게 하는 플러그인이다. 패키지 인스톨러를 통해 설치하면 된다.
SublimeGit
윈도를 사용할 경우 따로 git 프로그램을 설치해야 한다. 그리고 경로를 다음과 같이 설정해야 할 것이다.
{
"git_executables": {
"git": ["c:/Program Files/Git/bin/git"],
"git_flow": ["c:/Program Files/Git/bin/git-flow"],
"legit": ["c:/Program Files/Git/bin/legit"],
"gitk": ["c:/Program Files/Git/bin/gitk"]
}
}
커맨드 팔레트에서 주로 다음 3개만 사용하는데, 특히 status에서 선택하는 기능이 좋다.
- GIT status : 버전 관리할 파일을 선택하고, c를 누르면 커밋 메시지를 작성할 수 있고, 탭을 닫으면 커밋이 된다.
- GIT push
- GIT pull
MarkdownEditing
Markdown 형식으로 메모도 하고, 프로젝트에서 Readme.md 문서도 자주 만드는데, Markdown 파일을 작성하는데, 이 플러그인이 아주 유용하다. 지금 작성하는 블로그도, 서브라임에서 이 플러그인 사용해서 작성하고 있다. 문서와 코드(Javascript, Python 등)에 신택스 하이라이트도 되는 것이 핵심이다.
패키지 팔레트에서 다음 이름의 플러그인을 찾아서 설치하면 된다.
MarkdownEditing
Markdown Preview
Markdown Editing으로 Markdown 파일을 작성할 때 도움이 된다고 할 수 있다. 최종 결과물을 브라우저에서 볼 수 있게 하는 플러그인이 바로 Markdown Preview다. 작성하다가 최종 결과물이 보고 싶다면 CTRL+B 윈도에서 빌드하면 브라우저에 작성하고 있는 문서가 보일 것이다.
Markdown Preview
SFTP
여러 서버에서 작업할 일이 많이 있는데, 이 플러그인이 아주 유용하다.
SFTP
sftp-config.json 파일을 만들고, CTRL + ALT + U, W를 누르면 서버에 존재하는 폴더와 파일을 볼 수 있다. 수정할 파일을 선택하고, 수정 작업을 거친 후 저장하면 서버에 저장이 된다. 그런데 이 플러그인을 쓰는 것보다 atom 에디터의 SFTP 기능이 더 좋았다.
{
...
"type": "sftp",
"save_before_upload": true,
"upload_on_save": false,
"sync_down_on_open": false,
"sync_skip_deletes": false,
"confirm_downloads": false,
"confirm_sync": true,
"confirm_overwrite_newer": false,
"host": "127.0.0.1",
"user": "아이디",
"password": "비밀번호",
"port": "43520",
"remote_path": "/",
"ignore_regexes": [
"\\.sublime-(project|workspace)", "sftp-config(-alt\\d?)?\\.json",
"sftp-settings\\.json", "/venv/", "\\.svn", "\\.hg", "\\.git",
"\\.bzr", "_darcs", "CVS", "\\.DS_Store", "Thumbs\\.db", "desktop\\.ini"
],
...
}
GhostText
브라우저의 텍스트 입력창(Textarea)의 내용을 서브라임 텍스트로 작성할 수 있게 하는 플러그인이다. 크롬이나 파이어폭스에 플러그인을 추가로 설치해야한다. 크롬과 파이어폭스에 플러그인을 설치하고, 텍스트 영역에 GhostText 기능을 활성화할 수 있다. 그 상태에서 서브라임에서 내용을 작성할 수 있다.
그러나 내가 자주 사용하는 도구는 위지웍 에디터라서 잘 활용하지 못했다.
GhostText
처음 알았을 때는 많이 사용하려고 시도했지만, 은근히 귀찮다. 텍스트 창에 글을 입력하다 브라우저가 문제가 생겨 종료되더라도, 글은 서브라임에 남아있는 것은 장점이다.
InsertDate
2016-06-22와 같이 원하는 형식의 날짜를 단축키로 입력할 수 있게 하는 플러그인이다. 메모하다가 오늘 날짜를 입력해야 할 때 유용하다.
InsertDate
단축키는 CTRL + F5, D
SublimeLinter
프로젝트에서 사용하는 언어에 따라 linter를 세팅하고 시작하는 것이 좋다.
coffeelint
eslint
jshint
pylint
shellcheck
…
기타 사용 중인 플러그인
Dockerfile Syntax Highlighting
Dockerfile 문법 강조
Autotools
Autotools 문법 하이라이트
Babel
JSX를 포함한 ES6 문법 하이라이트
BracketHighlighter
괄호 안에 있을 때, 좌측에 표시해 준다.
RPM Spec Syntax
rpm.spec 파일에 관한 문법 강조를 지원한다.
sublime-project-specific-syntax
프로젝트에 따라 문법을 다르게 설정할 수 있다.
sublime_diagram_plugin (PlantUML)
Plantuml을 이미지로 만들어준다. 내부에서 Java와 Graphviz를 사용한다.
Terminal
현재 파일 또는 프로젝트 폴더를 터미널로 열어준다.
Stylus
Stylus 문법 강조를 지원한다.
Siteleaf Liquid Syntax
Liquid 문법 강조를 지원한다.
SideBarEnhancements
사이드바 기능을 강화한다. 특히 우클릭을 통해 다양한 기능을 사용할 수 있다.
React ES6 Snippets
React로 개발할 때 아주 유용한 Snippet을 제공한다. (cdm, cdup, …)
R-Box
R 파일 작업할 때, 자동완성, 메뉴, 팝업 힌트를 제공.
PHP Code Coverage
에디터에서 코드 커버리지 데이터를 표시한다. 테스트가 된 코드는 녹색으로 나온다.
Phpcs
PHP CodeSniffer, PHP Code Beautifier and Fixer, PHP Coding Standards Fixer, the PHP Linter, PHP Mess Detector, Scheck
PhpDoc
문서화 주석을 빠르게 작성할 수 있다. /**로 시작하면 자동 완성됨.
NSIS
Nullsoft Scriptable Install System 문법 강조
LuaAutocomplete
Lua 자동완성
Jekyll
Jekyll과 통합
INI
INI 문법 강조
Find++
현재 폴더, 프로젝트에서 검색할 수 있다.
DocBlockr
문서화를 위한 주석을 쉽게 작성할 수 있다.
C++11
C++11 문법 정의
C++ Snippets
C++에서 유용한 스니펫이 추가됨.
Lint 플러그인
- SublimeLinter : 기본 linting 프레임웍
- SublimeLinter-contrib-eslint : ECMAScript/JavaScript
- SublimeLinter-contrib-htmlhint : HTML
- SublimeLinter-cpplint : C++
- SublimeLinter-jshint : Javascript
- SublimeLinter-json : json
- SublimeLinter-pep8 : Python(PEP8)
- SublimeLinter-php : php-l 옵션을 사용
- SublimeLinter-phplint : phplint를 사용
- SublimeLinter-pylint : Python(pylint)
- SublimeLinter-shellchek : 셸 스크립트
삭제한 플러그인
이번 장은 플러그인 너무 많아서 지금은 쓸 일 없는 것들을 지우면서 기록한 내용이다.
View In Browser
현재 서브라임탭에 있는 것을 브라우저로 보여준다.
TypescriptCompletion
Typescript 자동완성.
VBScript
VBScript 문법 강조, 스니펫
Select By Regex
정규식으로 영역을 선택할 수 있다.
Repeat Macro
반복적인 작업을 할 때 사용한다.
SublimeServer
Markdown, HTML 파일을 서비스할 수 있는 서버를 띄운다.
ReactJS
Babel 플러그인에서 제공해서 필요 없다.
React Templates
React Templates 문법 강조. Babel 플러그인에서 제공해서 필요 없다.
Move Tab
커맨드 팔레트 명령을 통해 탭이 이동한다.
Markdown Extended
TOP 100. 마크다운 문법 강조. 언어에 따라 강조.
IndentTips
인덴트와 코드의 위치를 상태바에 보여준다. JS와 PHP는 안 된다. 어떤 언어에서 동작하는지 모르겠다.
HTML5
HTML5 번들. HTML5 문법 모드와 스니펫.
Flow
Flow로 자바스크립트 정적 분석을 한다.
Download Source
특정 URL의 데이터를 새로운 또는 이미 존재하는 버퍼로 가져온다.
Dockerfile Syntax Highlighting
Dockerfile 문법 강조
Color Highlighter
색상을 미리 보고, 선택할 수 있다.
Markup Jira confluence(SublimeConfluence)
Atlassian Confluence와 통합된 플러그인.
Browser Integration
브라우저와 서브라임을 통합하는 플러그인이다. 우선 서브라임에서 브라우저를 실행하고, 서브라임에서 브라우저로 커맨드를 날릴 수 있다. reload, 스타일시트 보기, 특정 코드 실행하기 등이 가능하지만, 아직 개발 중이라고 한다.
All Autocomplete
현재 창에 열린 모든 파일에 있는 내용과 일치할 때 자동완성 키워드를 보여주는 플러그인이다. 느려질 수 있어서 주의가 필요하다.
ApplySyntax
파일 구문을 감지하고, 적용할 수 있는 플러그인이다. 예를 들면, .rb 파일은 일반적으로 Ruby 파일이지만 Rails 프로젝트에서의 Rspec, Cucumber 파일, Ruby on Rails(컨트롤러, 모델) 파일을 구분할 수 있다.
Better Coffee Script
신택스 하이라이트, 체크, 커맨드, 단축키, watch 기능 등을 제공한다.
CJSX Syntax
Coffee Script JSX 문법을 지원하는 플러그인이다. ES6로 바꾼 이후는 쓸 필요 없었다.
Grunt
Grunt와 통합하는 플러그인이다. Gulp로 바꾸고 나서 쓰지 않는다.
ChangeQuotes
’ 또는 “에 커서를 놓고, 이 플러그인 커맨드를 실행하면 ‘ -> “, 아니면 그 반대로 바꿔주는데, 잘 사용하지 않아서 지웠다.
https://packagecontrol.io/packages/ChangeQuotes
ColorHelper
CSS 작업할 때, 컬러 코드를 인식해서 색상을 보여주고, 선택할 수 있는 툴팁을 제공한다. 인라인으로 색상을 보여주는 부분 때문에, 확실히 느려진다.
https://packagecontrol.io/packages/ColorHelper
Emmet
Emmet의 공식 플러그인이다. Emmet은 예전에 Zen Coding으로 불렸고, html 작업을 할 때, CSS 스타일로 입력해서 html을 만들어 준다. 편리하지만 html 작업을 많이 하지 않고, 그마저도 React로 하므로 필요 없어졌다.
https://packagecontrol.io/packages/Emmet
Evernote
Evernote를 서브라임에서 쓸 수 있는 플러그인이다.
https://packagecontrol.io/packages/Evernote
Google Search
서브라임에서 선택한 키워드를 구글에서 검색하는 플러그인이다.
https://packagecontrol.io/packages/Google%20Search
npm
npm을 통합한 플러그인이다. 셸로 하는 게 더 편하다.
https://packagecontrol.io/packages/npm
yUML
yUML을 서브라임에서 만들어 주는 플러그인이다. plantuml을 사용해서 지웠다.
https://packagecontrol.io/packages/yUML
SublimeGit
Git 통합 플러그인이다. 셸에서 Git 작업을 하면서 지웠다.
https://packagecontrol.io/packages/SublimeGit
GitSavvy
SublimeGit과 유사한 플러그인이다.
https://packagecontrol.io/packages/GitSavvy
HTMLBeautify
HTML을 보기 좋게 만드는 도구다. 가끔 필요해서 같은 기능을 하는 사이트를 이용하면서 지웠다.
https://packagecontrol.io/packages/HTMLBeautify
LiveReload
LiveReload 서버가 서브라임텍스트에서 실행되고, 파일을 저장할 때, 이 서버와 통신할 수 있다.
https://packagecontrol.io/packages/LiveReload
SqlBeautifier
SQL을 사람한테 보기 좋게 만드는 플러그인이다.
https://packagecontrol.io/packages/SqlBeautifier
Text Pastry
반복적인 작업을 쉽게 할 수 있게 돕는 플러그인이다.
https://packagecontrol.io/packages/Text%20Pastry
Pretty JSON
JSON을 보기 좋게 만들어주고, 유효성을 체크할 수 있고, 압축할 수도 있다.
https://packagecontrol.io/packages/Pretty%20JSON
InsertDate
포맷에 맞춰서 현재 날짜와 시간을 출력하는 플러그인이다.
https://packagecontrol.io/packages/InsertDate
SVN
SVN 통합 플러그인.
https://packagecontrol.io/packages/SVN
ShellCommand
셸 명령을 서브라임내에서 실행하고, 그 결과를 탭에서 보여주는 플러그인이다.
https://packagecontrol.io/packages/ShellCommand
Shell Turtlestein
ShellCommand와 유사한 플러그인이다. 다른 점은 결과가 서브라임 콘솔에 출력된다.
https://packagecontrol.io/packages/Shell%20Turtlestein
TabsExtra
탭에 추가 기능을 주는 플러그인이다. sticky 탭을 만들고, 탭 정렬, 삭제, 이름 변경 등을 할 수 있다.
https://packagecontrol.io/packages/TabsExtra
Scheme
Scheme이라는 언어를 지원하는 플러그인인데, 언제, 왜 설치했는지 모르겠다.
https://github.com/egrachev/sublime-scheme
PyV8
Emmet 플러그인 설치할 때 자동으로 설치되는 플러그인이다.
https://github.com/emmetio/pyv8-binaries
JavaScript & NodeJS Snippets
Console, DOM, Loop 등을 쉽게 작성할 수 있는 Snippet이다. cl은 console.log, al은 alert, …
https://packagecontrol.io/packages/JavaScript%20%26%20NodeJS%20Snippets
Handlebars
Handlebars.js 템플릿을 지원하는 플러그인이다.
https://packagecontrol.io/packages/Handlebars
Jade
Jade 템플릿을 지원하는 플러그인이다.
https://packagecontrol.io/packages/Jade
Liquid
Liquid 템플릿을 지원하는 플러그인이다.
https://packagecontrol.io/packages/Liquid
Less
Less Syntax Highlight를 지원하는 플러그인이다.
https://packagecontrol.io/packages/LESS
SublimeCodeIntel
Open Komodo Editor에서 이식된 플러그인으로, 다양한 언어를 지원한다. 심볼이 정의된 파일로 이동하고, 사용할 수 있는 모듈을 자동 완성할 수 있다.
https://packagecontrol.io/packages/SublimeCodeIntel
Swift
Swift 언어를 지원하는 플러그인이다. XCode에서 작업해서 필요 없다.
https://packagecontrol.io/packages/Swift
SublimeREPL
서브라임 탭에서 PHP, Python, Ruby, R, Node.js 등 다양한 언어의 인터프리터를 실행하는 플러그인이다.
https://packagecontrol.io/packages/SublimeREPL
Vue Syntax Highlight
Vue 템플릿을 지원하는 플러그인이다.
https://packagecontrol.io/packages/Vue%20Syntax%20Highlight
TypeScript
TypeScript 문법, Snippet을 지원하는 플러그인이다. 백그라운드로 Node 프로세스가 실행된다.
https://packagecontrol.io/packages/TypeScript
LogView
로그 파일을 볼 때 로그 단계에 따라서 심각하면 빨강 덜 심각하면 노랑으로 표시하는 플러그인이다.
https://packagecontrol.io/packages/LogView
SublimeLinter-coffeelint
Coffee Script 문법을 체크하는 Linter인데, ES6로 바꾼 후 사용하지 않는다.
https://packagecontrol.io/packages/SublimeLinter-coffeelint
JSX
JSX 언어 정의.
DB1
PostgreSQL, MySQL, SQLite, MariaDB 같은 데이터베이스에서 질의를 실행하는 플러그인.
DotENV
.env 파일에 대한 문법 강조