「Slackでコードを共有したいけど、どうやって見やすく表示すればいいの?」
「コードブロックって何?普通のメッセージと何が違うの?」
プログラマーやエンジニアの方なら、Slackでコードを共有する機会が多いはずです。でも、普通にコードをコピー&ペーストしただけでは、読みにくくて困った経験はありませんか?
この記事では、Slackの「コードブロック」機能について、基本的な使い方から便利な活用テクニックまで、初心者にも分かりやすく解説します。
Slackのコードブロックとは?

まずは、コードブロックの基本を理解しましょう。
コードブロックの定義
コードブロック(Code Block)とは、プログラムのコードやコマンドラインの出力などを、見やすく整形して表示するためのSlackの機能です。
コードブロックを使うと、通常のテキストとは違う見た目で表示され、コードが一目で分かるようになります。
コードブロックの見た目
コードブロックで表示されたテキストは、以下のような特徴があります。
視覚的な特徴
- 背景色が灰色になる
- 等幅フォント(モノスペースフォント)で表示される
- 枠線で囲まれる
- インデントや改行がそのまま保持される
- Slack標準の書式設定(太字や斜体など)が無効化される
例:コードブロックなし
function hello() {
console.log("Hello, World!");
}
例:コードブロックあり
上記のコードがSlackのコードブロックで表示されると、灰色の背景に等幅フォントで見やすく整形されます。
なぜコードブロックが必要なのか?
普通のテキストでコードを送ると、以下のような問題が起こります。
問題点
- インデント(字下げ)が崩れる
- 複数のスペースが1つにまとめられる
- 記号が書式設定として解釈される(例:
*が太字になる) - どこからどこまでがコードなのか分かりにくい
コードブロックを使うメリット
- コードの構造が保たれる
- 読みやすく、理解しやすい
- コピー&ペーストがしやすい
- プロフェッショナルな印象を与える
コードブロックの基本的な作り方
Slackでコードブロックを作る方法は3つあります。
方法1:バッククォート3つで囲む(最も基本)
最も基本的で、覚えやすい方法です。
手順
- バッククォート(
`)を3つ入力:``` - 改行してコードを入力
- もう一度バッククォートを3つ入力:
```
入力例
```
function hello() {
console.log("Hello, World!");
}
**バッククォートってどのキー?**
バッククォート(`` ` ``)は、キーボードの左上にあるキーです。
- 日本語キーボード:「@」キーと同じキー(Shiftなしで入力)
- 英語キーボード:「~(チルダ)」キーと同じキー(Shiftなしで入力)
**重要な注意点**
シングルクォート(`'`)やダブルクォート(`"`)ではありません!
必ずバッククォート(`` ` ``)を使ってください。
### 方法2:書式設定ツールバーを使う
マウス操作でコードブロックを作成できます。
**手順**
1. メッセージ入力欄にコードを入力(またはペースト)
2. コード全体を選択(ドラッグまたはCtrl/Cmd + A)
3. メッセージ入力欄の下にある**書式設定ツールバー**から、**コードブロックアイコン**(「< >」のようなマーク)をクリック
4. 選択したテキストがコードブロックとして整形されます
### 方法3:ショートカットキーを使う(最速)
キーボード操作に慣れている方におすすめです。
**ショートカットキー**
- **Mac**:`Cmd + Shift + C`(テキストを選択した状態で)
- **Windows/Linux**:`Ctrl + Shift + C`(テキストを選択した状態で)
**手順**
1. コードを入力(またはペースト)
2. コード全体を選択
3. 上記のショートカットキーを押す
**注意点**
- このショートカットは、テキストを選択している状態でのみ動作します
- 何も選択していない状態で押しても、コードブロックにはなりません
---
## インラインコードとの違い
Slackには「コードブロック」の他に「インラインコード」という機能もあります。
### インラインコードとは
**インラインコード**は、文章の中に短いコードを埋め込むための機能です。
**作り方**
バッククォート(`` ` ``)を**1つずつ**で囲みます。
**例**
JavaScriptで変数を宣言するには let x = 10; と書きます。
**表示結果**
JavaScriptで変数を宣言するには `let x = 10;` と書きます。
(実際のSlackでは、「let x = 10;」の部分だけが灰色の背景になります)
### コードブロックとインラインコードの使い分け
どちらを使うべきか、状況に応じて選びましょう。
**インラインコードを使うべき場合**
- 文章の中に1行程度の短いコードを含めたい時
- 変数名、関数名、コマンド名などを強調したい時
- ファイル名やパス名を示したい時
**例**
- 「`npm install`コマンドを実行してください」
- 「`index.html`ファイルを開いてください」
- 「エラーは`undefined`が原因です」
**コードブロックを使うべき場合**
- 複数行のコードを共有したい時
- コードの構造やインデントを保持したい時
- コードレビューやデバッグのために詳細なコードを見せたい時
**例**
- 関数やクラスの定義全体
- エラーメッセージの全文
- 設定ファイルの内容
### 比較表
| 項目 | インラインコード | コードブロック |
|------|----------------|--------------|
| 作り方 | `` `コード` `` | `` ```コード``` `` |
| 表示 | 文中に埋め込み | 独立したブロック |
| 行数 | 1行のみ | 複数行OK |
| 用途 | 単語や短いコード | まとまったコード |
| インデント保持 | 不要 | 保持される |
---
## コードスニペット機能との違い
Slackには「コードスニペット」という、コードブロックとは別の機能もあります。
### コードスニペットとは
**コードスニペット**は、コードを「ファイル」として共有する機能です。
長いコードや、複数のファイルを共有する時に便利です。
### コードスニペットの特徴
**コードブロックにはない機能**
- シンタックスハイライト(コードの色分け)
- ファイル名の設定
- プログラミング言語の指定
- ダウンロード機能
- 折りたたみ表示(長いコードでも場所を取らない)
- 行番号の表示
### コードスニペットの作り方
**デスクトップアプリの場合**
1. メッセージ入力欄の左にある**「+」**アイコンをクリック
2. メニューから**「テキストスニペットを作成」**を選択
3. ポップアップウィンドウが開く
- **タイトル**:ファイル名を入力(任意)
- **タイプ**:プログラミング言語を選択(シンタックスハイライト用)
- **内容**:コードを入力またはペースト
4. **「このファイルを共有」**にチェックを入れ、共有先のチャンネルを選択
5. **「スニペットを作成」**をクリック
**ショートカットキー**
- **Mac**:`Cmd + Shift + Enter`(入力途中のテキストをスニペットに変換)
- **Windows/Linux**:`Ctrl + Shift + Enter`
### コードブロックとコードスニペットの使い分け
**コードブロックを使うべき場合**
- 10行以下の短いコード
- 素早く共有したい時
- 会話の流れの中で見てほしい時
- シンタックスハイライトが不要な時
**コードスニペットを使うべき場合**
- 20行以上の長いコード
- シンタックスハイライトが欲しい時
- ダウンロードしてもらいたい時
- 複数のファイルを共有する時
- コードレビューが目的の時
### 比較表
| 項目 | コードブロック | コードスニペット |
|------|--------------|----------------|
| 表示形式 | メッセージ内 | 別ファイル(添付) |
| 作成の手軽さ | 簡単(`` ``` ``) | やや複雑 |
| シンタックスハイライト | なし | あり |
| 行番号 | なし | あり |
| ダウンロード | 不可 | 可能 |
| 折りたたみ | 不可 | 可能 |
| 適した長さ | 短いコード | 長いコード |
| モバイル対応 | 作成・表示可 | 表示のみ |
---
## コードブロックの便利な使い方と活用テクニック
コードブロックをもっと効果的に使うためのテクニックを紹介します。
### 活用テクニック1:エラーメッセージの共有
プログラミング中のエラーは、コードブロックで共有すると分かりやすくなります。
**例**
エラーが出ました。どなたか原因が分かりますか?
TypeError: Cannot read property 'name' of undefined
at getUserName (app.js:42:15)
at handleRequest (app.js:28:10)
このようにすることで、エラーメッセージの全体が読みやすく表示されます。
### 活用テクニック2:コマンドラインの実行結果
ターミナルやコマンドプロンプトの出力も、コードブロックで共有しましょう。
**例**
npm install を実行したら以下のエラーが出ました:
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
### 活用テクニック3:設定ファイルの内容
JSON、YAML、XMLなどの設定ファイルも、コードブロックで共有できます。
**例**
package.json の内容です:
{
"name": "my-project",
"version": "1.0.0",
"dependencies": {
"express": "^4.17.1",
"mongoose": "^5.12.0"
}
}
### 活用テクニック4:コードレビュー
チームメンバーにコードをレビューしてもらう時は、コードブロックが便利です。
**例**
この関数のパフォーマンスを改善したいのですが、アドバイスをください:
function findUser(id) {
for (let i = 0; i < users.length; i++) {
if (users[i].id === id) {
return users[i];
}
}
return null;
}
### 活用テクニック5:SQL文の共有
データベースのクエリも、コードブロックで見やすく共有できます。
**例**
このSQL文でデータを取得しています:
SELECT u.name, o.order_date, o.total
FROM users u
INNER JOIN orders o ON u.id = o.user_id
WHERE o.order_date >= '2025-01-01'
ORDER BY o.order_date DESC;
### 活用テクニック6:正規表現の共有
複雑な正規表現は、コードブロックで共有すると誤解が防げます。
**例**
メールアドレスのバリデーション用の正規表現:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
### 活用テクニック7:ログファイルの抜粋
アプリケーションのログを共有する時も、コードブロックが役立ちます。
**例**
エラー発生時のログです:
[2025-12-04 14:23:15] ERROR: Database connection failed
[2025-12-04 14:23:15] ERROR: Retrying connection... (attempt 1/3)
[2025-12-04 14:23:20] ERROR: Connection timeout after 5 seconds
[2025-12-04 14:23-20] FATAL: Max retry attempts reached
---
## コードブロック使用時の注意点とベストプラクティス
コードブロックを使う時に気をつけるべきポイントです。
### 注意点1:全角文字は使えない?
実は、コードブロック内では**全角文字も使えます**。
ただし、プログラミングコードの場合は、通常半角文字のみを使うため、全角文字が混ざると問題になることがあります。
**例:コメントに日本語を使う場合**
javascript
// これはOK:日本語のコメント
function hello() {
console.log(“こんにちは”); // 文字列内の日本語もOK
}
### 注意点2:バッククォートの数を間違えない
インラインコードとコードブロックで、バッククォートの数が違います。
**間違った例**
これではコードブロックにならない
(バッククォート2つでは動作しません)
**正しい例**
- インラインコード:`` `コード` ``(バッククォート1つずつ)
- コードブロック:`` ```コード``` ``(バッククォート3つずつ)
### 注意点3:長すぎるコードは避ける
50行を超えるような長いコードは、コードブロックではなく**コードスニペット**を使いましょう。
**理由**
- 会話の流れが途切れる
- スクロールが大変
- モバイルで見づらい
### 注意点4:コンテキストを添える
コードだけでなく、説明文を添えると親切です。
**悪い例**
function calculateTotal(items) {
return items.reduce((sum, item) => sum + item.price, 0);
}
**良い例**
商品の合計金額を計算する関数です:
function calculateTotal(items) {
return items.reduce((sum, item) => sum + item.price, 0);
}
### 注意点5:機密情報を含めない
コードブロックに以下のような情報を含めないよう注意してください。
**含めてはいけないもの**
- パスワード
- APIキー
- アクセストークン
- データベースの接続文字列
- 個人情報
もし共有する必要がある場合は、ダミーの値に置き換えるか、該当部分を「***」などでマスクしましょう。
### ベストプラクティス1:適度に改行を入れる
長いコードは、適度に空行を入れると読みやすくなります。
**例**
javascript
// データを取得
const data = await fetchData();
// データを処理
const processed = processData(data);
// 結果を返す
return processed;
### ベストプラクティス2:コメントを活用
コードに簡単なコメントを付けると、より伝わりやすくなります。
**例**
javascript
// ユーザーIDでデータを検索
function findUser(id) {
// 配列を順番にチェック
for (let user of users) {
if (user.id === id) {
return user; // 見つかったら返す
}
}
return null; // 見つからなければnull
}
### ベストプラクティス3:コードの前後に説明を入れる
**推奨構成**
1. 何についてのコードか(導入)
2. コードブロック
3. 質問や補足説明(締めくくり)
**例**
ログイン機能で以下のエラーが出ます:
Error: User not found in database
データベースには確実にユーザーが存在するのですが、なぜこのエラーが出るのでしょうか?
---
## モバイル版Slackでのコードブロック
スマートフォンやタブレットでもコードブロックを使えます。
### モバイルでの作成方法
**iPhone・Androidアプリ共通**
1. メッセージ入力欄をタップ
2. バッククォート(`` ` ``)を3つ入力:` ``` `
3. 改行ボタンをタップ
4. コードを入力
5. もう一度バッククォートを3つ入力:` ``` `
**注意点**
モバイルのキーボードでは、バッククォートの入力が少し難しいです。
- iPhoneの場合:「123」キーを押し、さらに「#+=」キーを押すと、バッククォートが見つかります
- Androidの場合:機種により異なりますが、記号キーボードに切り替えて探してください
### モバイルでの表示
モバイル版でも、コードブロックは見やすく表示されます。
ただし、画面が小さいため、長いコードは横スクロールが必要になることがあります。
### モバイルでのコードスニペット
**重要な制限**
モバイルアプリでは、**コードスニペットの作成ができません**。
デスクトップアプリまたはブラウザ版を使う必要があります。
ただし、コードスニペットの**表示**と**ダウンロード**はモバイルでも可能です。
---
## よくある質問と回答
### Q1. コードブロックでシンタックスハイライト(色分け)はできますか?
いいえ、メッセージ内のコードブロックでは、シンタックスハイライトはできません。
コードは灰色の背景に黒い文字で表示されます。
シンタックスハイライトが必要な場合は、**コードスニペット**機能を使ってください。
### Q2. コードブロック内で太字や斜体は使えますか?
いいえ、使えません。
コードブロック内では、Slackの書式設定(太字、斜体、取り消し線など)はすべて無効化されます。
これは、コードの記号(`*`や`_`など)が書式設定として解釈されないようにするためです。
### Q3. コードブロックをコピーする方法は?
**デスクトップアプリの場合**
1. コードブロックにマウスカーソルを合わせる
2. コードブロックの右上に表示される**コピーアイコン**をクリック
3. クリップボードにコピーされます
または、通常どおりドラッグして選択し、Ctrl/Cmd + Cでコピーできます。
**モバイルアプリの場合**
コードブロックを長押しして、表示されるメニューから「コピー」を選択します。
### Q4. バッククォートがキーボードにない場合はどうすれば?
一部のキーボード(特に古い日本語キーボード)には、バッククォートがないことがあります。
**代替方法**
1. **書式設定ツールバーを使う**
- テキストを選択→コードブロックアイコンをクリック
2. **ショートカットキーを使う**
- Mac:`Cmd + Shift + C`
- Windows:`Ctrl + Shift + C`
3. **他の場所からコピー**
- インターネットで「バッククォート」を検索してコピー
- この記事からコピー:`` ` ``
### Q5. コードブロックを編集できますか?
はい、できます。
**手順**
1. 自分が送信したメッセージにマウスカーソルを合わせる
2. 右上に表示される**「...」**(その他のアクション)をクリック
3. **「メッセージを編集」**を選択
4. 編集モードになるので、コードブロックを修正
5. **「変更を保存」**をクリック
### Q6. 複数のコードブロックを1つのメッセージに入れられますか?
はい、入れられます。
**例**
HTMLファイル:
<!DOCTYPE html>
<html>
<body>
<h1>Hello</h1>
</body>
</html>
CSSファイル:
body {
font-family: Arial;
margin: 0;
}
“`
Q7. コードブロックに行番号を表示できますか?
メッセージ内のコードブロックでは、行番号は表示できません。
行番号が必要な場合は、コードスニペット機能を使ってください。
コードスニペットでは、自動的に行番号が表示されます。
Q8. コードブロックの背景色や文字色を変更できますか?
いいえ、できません。
コードブロックの見た目は、Slackのデザインで固定されています。
ただし、Slackのテーマ設定(ライトモード・ダークモード)によって、背景色は変わります。
まとめ:Slackコードブロックの重要ポイント
Slackのコードブロックについて、重要なポイントをおさらいしましょう。
コードブロックとは
- プログラムのコードを見やすく表示するための機能
- 灰色の背景に等幅フォントで表示される
- インデントや改行がそのまま保持される
基本的な作り方
- バッククォート(
`)を3つ入力:``` - 改行してコードを入力
- もう一度バッククォートを3つ入力:
```
または:
- 書式設定ツールバーの「< >」アイコンを使う
- ショートカットキー:Mac(
Cmd + Shift + C)、Windows(Ctrl + Shift + C)
インラインコードとの違い
- インラインコード:
`コード`(文中に1行) - コードブロック:
```コード```(独立した複数行)
コードスニペットとの違い
- コードブロック:短いコード、手軽、シンタックスハイライトなし
- コードスニペット:長いコード、ファイル形式、シンタックスハイライトあり
便利な使い方
- エラーメッセージの共有
- コマンドライン実行結果の表示
- 設定ファイルの内容
- コードレビュー
- SQL文やログファイルの共有
注意点
- 50行を超える場合はコードスニペットを使う
- 機密情報(パスワードやAPIキーなど)を含めない
- コンテキストを添えて説明する
- バッククォートの数を間違えない(3つずつ)
モバイルでの使用
- 作成・表示ともに可能
- コードスニペットの作成はモバイルでは不可
Slackでコードを共有する機会が多いプログラマーやエンジニアにとって、コードブロックは必須の機能です。基本的な使い方をマスターして、チーム内のコミュニケーションをよりスムーズにしましょう!

コメント