โซลูชันจำนวนมากไม่ทำงานแบบอินไลน์ นี่เป็นวิธีการทำความสะอาดที่เสนอโดย @AlekseyBykov โดยใช้ Google App Scripts เพื่อเพิ่มการกระทำของเมนูที่กำหนดเอง:
- สร้างสคริปต์ใหม่ (
Tools > Script Editor
)
- คัดลอกรหัสต่อไปนี้ลงในโปรแกรมแก้ไข:
// Add new menu item
function onOpen() {
DocumentApp.getUi()
.createMenu('Styles')
.addItem('Format Code', 'formatCode')
.addToUi();
}
// Define code styling
var style = {};
style[DocumentApp.Attribute.FONT_FAMILY] = DocumentApp.FontFamily.CONSOLAS;
style[DocumentApp.Attribute.FONT_SIZE] = 10;
style[DocumentApp.Attribute.BACKGROUND_COLOR] = "#DDDDDD";
style[DocumentApp.Attribute.FOREGROUND_COLOR] = "#333333";
style[DocumentApp.Attribute.BOLD] = false;
// Apply code formatting
function formatCode() {
var selection = DocumentApp.getActiveDocument().getSelection();
if (selection) {
var elements = selection.getRangeElements();
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
// Only modify elements that can be edited as text; skip images and other non-text elements.
if (element.getElement().editAsText) {
var text = element.getElement().editAsText();
// Style the selected part of the element, or the full element if it's completely selected.
if (element.isPartial()) {
text.setAttributes(element.getStartOffset(), element.getEndOffsetInclusive(), style);
} else {
text.setAttributes(style);
}
}
}
}
}
- กำหนดให้เรียกใช้
onOpen
ฟังก์ชัน "เปิด" ( Edit > Current Project's Triggers
)
- หลังจากให้สิทธิ์สคริปต์แล้วให้โหลดเอกสารต้นฉบับอีกครั้ง
- ใช้รายการเมนูใหม่เพื่อจัดรูปแบบข้อความที่เลือก (
Styles > Format Code
)