ตัวแปรเทมเพลตที่กำหนดเองของ IntelliJ

ฉันกำลังพยายามสร้างเทมเพลตที่กำหนดเองด้วยตัวแปรที่กำหนดเองชื่อ $MyName และฉันคิดว่าน่าจะเป็นไปได้ที่ IntelliJ จะถามเกี่ยวกับค่าของตัวแปรหากไม่ได้เตรียมใช้งาน ในเอกสารประกอบ พวกเขาให้ข้อมูล บางส่วน เกี่ยวกับวิธีการทำเช่นนี้ แต่ไม่มีตัวอย่างที่แท้จริง พวกเขาแค่บอกว่า IntelliJ Idea จะขอให้ฉันระบุมัน

เมื่อใช้เทมเพลต หากไม่ทราบค่าของตัวแปรเทมเพลตบางตัว IntelliJ IDEA จะขอให้คุณระบุค่าเหล่านั้น

ฉันจะสร้างตัวแปรที่กำหนดเอง เช่น $MyName ได้อย่างไร แล้วเมื่อผู้ใช้ใช้เทมเพลต ระบบจะถามเขาว่าชื่ออะไร

เอกสาร IntelliJ IDEA 2016.1

แก้ไข (19.04.2016): เพิ่มภาพหน้าจอ

หน้าต่างการตั้งค่าภาพหน้าจอ

อย่างที่คุณเห็น ตัวแปรที่กำหนดเองไม่เป็นที่รู้จักหรือไม่ถูกต้อง ถ้าฉันประกาศเป็น ${MyName} มันก็จะไม่ทำงานเช่นกัน

ภาพหน้าจอของไฟล์ใหม่


person El Mac    schedule 18.04.2016    source แหล่งที่มา
comment
IDE ถามเกี่ยวกับตัวแปรทั้งหมดที่ใช้ในเทมเพลตไฟล์แต่ไม่ได้กำหนดไว้อย่างชัดเจน ดังนั้นมันควรจะได้ผลแล้ว หากไม่เป็นเช่นนั้น โปรดระบุรายละเอียดและภาพหน้าจอเพิ่มเติม   -  person Peter Gromov    schedule 19.04.2016
comment
@PeterGromov ฉันได้เพิ่มภาพหน้าจอสำหรับข้อมูลเพิ่มเติม   -  person El Mac    schedule 19.04.2016


คำตอบ (2)


มันเป็นจุดบกพร่องใน IntelliJ IDEA ซึ่งจัดเก็บเป็น https://youtrack.jetbrains.com/issue/IDEA-154958. ขอบคุณที่สังเกตเห็น!

person Peter Gromov    schedule 19.04.2016
comment
ได้รับการแก้ไขแล้วหรือยัง? - person amseager; 31.08.2018

ตัวแปรเทมเพลตไฟล์

File | Settings | Editor | File and Code Templates
คุณควรตั้งค่าเป็น files หากตั้งค่าเป็น includes ไฟล์ใหม่จะเป็นเอาต์พุตชื่อตัวแปรโดยตรง แทนที่จะเป็นเนื้อหาตัวแปร ตัวอย่างเช่น ตั้งค่าตัวแปรที่กำหนดเองของไฟล์ Java Class$DESCRIPTION หากไม่ได้กำหนดค่าของตัวแปรในเทมเพลต IntelliJ IDEA จะขอให้คุณระบุเมื่อนำเทมเพลตไปใช้
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end #parse("File Header.java") /** * Description: $DESCRIPTION * Created by ${USER} * Date: ${YEAR}/${MONTH}/${DAY} * Time: ${TIME} */ public class ${NAME} { }

คุณยังสามารถกำหนดค่าของตัวแปรที่กำหนดเองได้ในเทมเพลตโดยใช้คำสั่ง #set ตัวอย่างเช่น หากคุณต้องการใช้ชื่อเต็มของคุณแทนชื่อล็อกอินที่กำหนดผ่านตัวแปรที่กำหนดไว้ล่วงหน้า ${USER} ให้ใช้โครงสร้างต่อไปนี้:
#set( $MyName = "John Smith" )

ลิงค์อ้างอิง

person maojun    schedule 27.11.2018