Slackのコードブロック:ショートカット、色分け、スニペット
Slackの入力欄でバッククォートを3つ入力するか、Cmd+Alt+Shift+Cを押すとコードブロックになります。バッククォートのあとの言語名がどうなるかを試し、色分けされたスニペットを実際に作り、ボットの4,000文字を超えるコードブロックが分割されて表示されなくなることも確かめました。
On this page
Slackでコードブロックを作るには、メッセージ入力欄でバッククォートを3つ入力します。入力欄がすぐ灰色のコードブロックに変わるので、コードを貼り付けるか入力してEnterで送信します。文字を選んでMacならCmd+Alt+Shift+C(WindowsならCtrl+Alt+Shift+C)を押すか、書式ツールバーのコードブロックボタンをクリックしてもかまいません。文中のコマンドには、前後にバッククォートを1つずつ付けるとインラインコードになります。たとえば npm ci です。コードブロックにはシンタックスハイライト(言語の色分け)がありません。色付きのコードにしたいなら、下で説明するスニペットを送ります。
2026年10月3日に、Slackで自分宛てのDMを使ってこれらをすべて試し、Slackがメッセージをどう保存したかを読み出しました。テストのメッセージとスニペットはあとで削除しています。
コードブロックを始める3つの方法
| すること | テストの結果 |
|---|---|
| バッククォートを3つ入力 | 3つ目を入力した時点で入力欄がコードブロックになった |
| 2行を選んでCmd+Alt+Shift+C | 2行とも1つのコードブロックになった |
| 単語をバッククォート1つずつで囲む | 文中のインラインコードになった |
ブロックの中で改行するにはShift+Enterを押します。Enterだけだと送信されます(Slackで改行する方法を参照)。Slackは送信したコードブロックを rich_text_preformatted 要素として保存するので、空白や改行は入力したとおりに残ります。フォントはRoboto Monoです(Slackのフォント)。キャンバスでもコードブロックのショートカットは同じCmd+Option+Shift+Cで、ほかはSlackキャンバスのショートカット(英語)にあります。
環境設定の詳細設定でマークアップでメッセージを書式設定するがオンだと、入力中の欄は変わりません。コードの前後をバッククォート3つで囲めば、送信したときにSlackが書式を付けます。
```
git pull
pnpm install
pnpm test
```
Slackのコードブロックで色分けはできるか
できません。メッセージのコードブロックには言語の設定がありません。GitHubと同じように、バッククォート3つのあとに python と入力してみると、Slackはその単語をブロックの1行目として残しました。
色分けしたいなら、代わりにスニペットを送ります。
- メッセージ入力欄の + ボタンをクリックしてテキストスニペットを選ぶか、Cmd+Shift+Enter(Ctrl+Shift+Enter)を押します。
greet.pyのようにタイトルを付けます。タイプは最初自動検出になっていて、ここで言語を選ぶこともできます。- コンテンツにコードを貼り付け、このファイルを共有するのチェックを入れたままスニペットを作成するをクリックします。
私たちのスニペットはこうなりました。SlackがPythonを自分で判別し、行番号を付け、タイトルの横にスニペットを折りたたむ矢印を付けました。
APIから見ると、スニペットは mode: snippet、filetype: python、lines: 4 のファイルでした。メッセージのコードブロックには折りたたみがなく、テストで投稿した40行のブロックは40行すべてが表示され、高さは738ピクセルでした。長いログはスニペットにしましょう。Slackのヘルプセンターによると、スニペットはモバイルアプリでは作れません。
ボットやAPIのメッセージのコードブロック
chat.postMessage や受信Webhookの text フィールドに書いたバッククォート3つは、コードブロックになります。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文字の2つのメッセージに分かれて届き、どちらもコードブロックにならず、バッククォートがそのまま表示されました。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では、コードをtextのタイプが mrkdwn の section ブロックに入れます。plain_text のオブジェクトだと、バッククォートが入力したまま表示されます。コードの中の &、<、> は &、<、> にエスケープします。コードフェンスを含むGitHub形式のマークダウンファイルを変換するには、Markdown to Slack変換ツールを使ってください。
Slackのコードブロックが表示されないとき
mrkdwn に変えます。よくある質問
Slackでコードブロックから抜けるには?
Slackのヘルプセンターによると、ツールバーのコードブロックボタンをもう一度クリックします。そのあとに入力した文字は普通の文字になります。
スマートフォンでコードブロックを作れますか?
作れます。バッククォートを3つ入力するか、Aaの下にあるコードブロックのボタンを使います。モバイルアプリでは試していません。スニペットはデスクトップだけです。
関連記事
Slackの拡大・縮小:ショートカット、上限、文字が小さいときの直し方
Slackの拡大はCmdと+(WindowsはCtrlと+)、縮小はCmdと-、元に戻すのはCmdと0です。Slackのコードでは拡大は5段階(249%)、縮小は3段階(58%)まで。2026年11月2日にSlack 4.52.182から読み取りました。
Slackで表を作る方法:貼り付け、キャンバス、Block Kit
ExcelやGoogleスプレッドシートのセルをコピーしてSlackのメッセージに貼ると、タブ区切りのテキストが本物の表になります。上限は20列、100行、10,000文字(2026年10月6日に検証)。コードブロック、キャンバスの表、Block Kitのtable blockと、試して出たエラーもまとめました。
Slackで送信せずに改行する方法
Slackのメッセージで送信せずに改行するにはShift+Enterを押します。Enterで改行したいなら、環境設定の詳細設定で、メッセージを書くときのEnterキーを「改行する」に変え、Cmd+EnterかCtrl+Enterで送信します。スマホ、リスト、コードブロック、APIでの改行もまとめました。