Slack 코드 블록: 단축키, 구문 강조, 스니펫
Slack 입력란에 백틱 세 개를 입력하거나 Cmd+Alt+Shift+C를 누르면 코드 블록이 됩니다. 백틱 뒤 언어 이름이 어떻게 되는지 시험하고, 색이 입혀진 스니펫을 직접 만들고, 봇의 4,000자 넘는 코드 블록이 나뉘어 깨지는 것도 확인했습니다.
On this page
Slack에서 코드 블록을 만들려면 메시지 입력란에 백틱 세 개를 입력합니다. 입력란이 바로 회색 코드 블록으로 바뀌니, 코드를 붙여 넣거나 입력하고 Enter로 보냅니다. 텍스트를 선택하고 Mac에서 Cmd+Alt+Shift+C(Windows는 Ctrl+Alt+Shift+C)를 누르거나, 서식 도구 모음의 코드 블록 버튼을 눌러도 됩니다. 문장 속 명령어는 앞뒤에 백틱을 하나씩 붙이면 인라인 코드가 됩니다. 예를 들면 npm ci입니다. 코드 블록에는 구문 강조가 없습니다. 색이 입혀진 코드를 원하면 아래처럼 스니펫을 보내세요.
2026년 10월 3일 Slack에서 나에게 보내는 DM으로 하나하나 시험하고, Slack이 메시지를 어떻게 저장했는지 읽어 봤습니다. 테스트 메시지와 스니펫은 나중에 지웠습니다.
코드 블록을 시작하는 세 가지 방법
| 하는 일 | 테스트 결과 |
|---|---|
| 백틱 세 개 입력 | 세 번째 백틱을 치는 순간 입력란이 코드 블록이 됨 |
| 두 줄을 선택하고 Cmd+Alt+Shift+C | 두 줄이 코드 블록 하나가 됨 |
| 단어를 백틱 하나씩으로 감싸기 | 문장 안의 인라인 코드가 됨 |
블록 안에서 줄을 바꾸려면 Shift+Enter를 누릅니다. 그냥 Enter는 보내기입니다(Slack에서 줄 바꾸는 법 참고). Slack은 보낸 코드 블록을 rich_text_preformatted 요소로 저장하므로 공백과 줄바꿈이 입력한 그대로 남습니다. 글꼴은 Roboto Mono입니다(Slack은 어떤 글꼴을 쓸까). 캔버스에서도 코드 블록 단축키는 똑같이 Cmd+Option+Shift+C이고, 나머지는 Slack 캔버스 단축키(영어)에 있습니다.
환경설정, 고급에서 마크업으로 메시지 서식 지정이 켜져 있으면 입력하는 동안 입력란이 바뀌지 않습니다. 코드 앞뒤를 백틱 세 개로 감싸면 보낼 때 Slack이 서식을 입힙니다.
```
git pull
pnpm install
pnpm test
```
Slack 코드 블록에 문법 강조를 쓸 수 있나요?
없습니다. 메시지 코드 블록에는 언어 설정이 없습니다. GitHub처럼 백틱 세 개 뒤에 python을 써 봤더니, Slack은 그 단어를 블록의 첫 줄로 남겼습니다.
색으로 구분된 코드를 보내려면 대신 스니펫을 씁니다.
- 메시지 입력란의 + 버튼을 눌러 텍스트 스니펫을 고르거나, Cmd+Shift+Enter(Ctrl+Shift+Enter)를 누릅니다.
greet.py처럼 제목을 붙입니다. 유형은 처음에 자동 감지이고, 여기서 언어를 고를 수도 있습니다.- 콘텐츠에 코드를 붙여 넣고 이 파일 공유 체크를 그대로 둔 채 스니펫 생성을 클릭합니다.
저희 스니펫은 이렇게 나왔습니다. Slack이 파이썬을 스스로 알아내고, 줄 번호를 붙이고, 제목 옆에 스니펫을 접는 화살표를 달았습니다.
API로 보면 스니펫은 mode: snippet, filetype: python, lines: 4인 파일이었습니다. 메시지 코드 블록에는 접기 기능이 없어서, 테스트에서 올린 40줄 블록은 40줄이 다 보였고 높이가 738픽셀이었습니다. 긴 로그는 스니펫으로 올리세요. Slack 도움말 센터에 따르면 모바일 앱에서는 스니펫을 만들 수 없습니다.
Slack에서 다시는 '자리 비움'으로 표시되지 마세요
클라우드 기반. 다운로드 불필요. 노트북이 꺼져 있어도 24시간 작동.
봇과 API 메시지의 코드 블록
chat.postMessage나 수신 웹후크의 text 필드에 넣은 백틱 세 개는 코드 블록이 됩니다. Slack이 이 필드를 mrkdwn으로 읽기 때문입니다.
curl -X POST -H 'Content-type: application/json' \
--data '{"text":"Deploy failed:\n```npm ERR! code ELIFECYCLE```"}' \
"$SLACK_WEBHOOK_URL"
다만 긴 코드에서는 깨집니다. Slack은 텍스트만 있는 메시지를 약 4,000자에서 나누는데, 이때 백틱 위치를 신경 쓰지 않습니다. 150줄, 5,285자 블록을 올리자 3,988자와 1,297자짜리 메시지 두 개로 나뉘어 도착했고, 둘 다 코드 블록이 아니라 백틱이 그대로 보였습니다. API로 읽어 보면 이렇습니다.
message 1: 3,988 chars, starts "API test, 150-line code block:\n```line 001 ...", block type rich_text_section
message 2: 1,297 chars, ends "line 150: npm ERR! code ELIFECYCLE```", block type rich_text_section
같은 테스트에서 40줄, 1,395자 블록은 제대로 보였습니다. 봇에서 긴 출력을 보낼 때는 파일이나 스니펫으로 올리거나, 직접 4,000자 미만 블록으로 나누세요. 메시지 종류별 한도는 Slack 메시지 글자 수 제한에 있습니다.
Block Kit에서는 코드를 텍스트 유형이 mrkdwn인 section 블록에 넣습니다. plain_text 객체는 백틱을 입력한 그대로 보여 줍니다. 코드 안의 &, <, >는 &, <, >로 이스케이프하세요. 코드 펜스가 있는 GitHub 스타일 마크다운 파일을 바꾸려면 Markdown to Slack 변환기를 쓰세요.
Slack 코드 블록이 안 보일 때
mrkdwn으로 바꾸세요.자주 묻는 질문
Slack에서 코드 블록을 빠져나오려면?
Slack 도움말 센터에 따르면 도구 모음의 코드 블록 버튼을 다시 누르면 됩니다. 그다음에 입력하는 글자는 일반 텍스트입니다.
휴대폰에서 코드 블록을 만들 수 있나요?
예. 백틱 세 개를 입력하거나 Aa 아래의 코드 블록 버튼을 쓰면 됩니다. 모바일 앱은 직접 시험하지 않았습니다. 스니펫은 데스크톱에서만 됩니다.
관련 기사
Slack 확대·축소: 단축키, 한계, 글자가 작아졌을 때 고치는 법
Slack 확대는 Cmd와 +(Windows는 Ctrl과 +), 축소는 Cmd와 -, 원래대로는 Cmd와 0입니다. Slack 코드상 확대는 5단계(249%), 축소는 3단계(58%)까지입니다. 2026년 11월 2일에 Slack 4.52.182에서 읽었습니다.
Slack에서 보내지 않고 줄바꿈하는 법
Slack 메시지에서 보내지 않고 줄을 바꾸려면 Shift+Enter를 누르세요. Enter로 줄을 바꾸고 싶다면 환경설정의 고급에서 메시지 작성 시 Enter 키 동작을 "새 줄 시작"으로 바꾸고, Cmd+Enter나 Ctrl+Enter로 보내세요. 모바일, 목록, 코드 블록, API 줄바꿈도 정리했습니다.
Slack 메시지 글자 수 제한: 최대 40,000자, 권장 4,000자
Slack 메시지 text의 한도는 40,000자이고, 개발자 문서는 4,000자 미만을 권장합니다. API로 시험해 보니 긴 글은 잘리지 않고 4,000자씩 메시지로 나뉘어 올라갔습니다. Block Kit 섹션은 3,000자, 헤더는 150자까지입니다. 긴 메시지에서 일어나는 일, 다른 글자 수 한도, 긴 글 나누는 법을 정리했습니다.