如何在Discord.js的Embed文本字段开头添加制表符缩进?
问题原因
Discord 前端渲染 Embed 时会自动忽略行首的半角空格、制表符等空白字符,该规则和 Discord.js 库无关,属于平台固有渲染限制。
可用解决方案
- 方案1:使用全角空格替代
全角空格(Unicode 编码U+3000)不会被 Discord 忽略,单个全角空格宽度约等于2个半角空格,需要类似制表符的缩进效果时可直接添加2个全角空格即可。
示例代码:
.addFields( { name: 'Test', value: ' First Line\n Second Line\n Third Line\n Fourth Line' } )
- 方案2:用代码块包裹内容
代码块内的所有格式(包括缩进、换行)都会被完整保留,适合需要严格对齐的多行内容展示。不需要语法高亮时可使用无语言标识的代码块:
示例代码:
.addFields( { name: 'Test', value: '```\n\tFirst Line\n\tSecond Line\n\tThird Line\n\tFourth Line\n```' } )
- 方案3:零宽字符占位
在每行开头先添加零宽空格(Unicode 编码U+200B),后续的普通空格、制表符就不会被Discord忽略,该方案不会改变文本的显示样式,也不需要额外格式标记:
示例代码:
.addFields( { name: 'Test', value: '\u200B\tFirst Line\n\u200B\tSecond Line\n\u200B\tThird Line\n\u200B\tFourth Line' } )
推荐选择
如果不需要代码格式,优先选择全角空格方案,实现成本最低,显示效果最自然。
内容的提问来源于stack exchange,提问作者Tyler
相关产品推荐
相关产品推荐

