ความสามัคคี: กล่องโต้ตอบ“ จุดสิ้นสุดของบรรทัดที่ไม่สอดคล้องกัน” จะปรากฏขึ้นตลอดเวลาที่ฉันเปิด VS ด้วยความสามัคคี


10

ทุกครั้งที่ฉันเปิดไฟล์สคริปต์จากความเป็นเอกภาพด้วย visual studio กล่องโต้ตอบนี้จะแสดงเกี่ยวกับการทำให้บรรทัดจบบรรทัดเป็นปกติหรือไม่ สิ่งนี้หมายความว่า? ฉันคลิกใช่ทุกครั้ง แต่ก็ยังไม่สามารถกำจัดได้ มันจะเกิดขึ้นเมื่อฉันเปิดไฟล์จากความสามัคคี

ป้อนคำอธิบายรูปภาพที่นี่


5
ไฟล์เทมเพลตสคริปต์ & shader เทมเพลตเริ่มต้นของ Unity / Unix / Mac- line ลงท้ายด้วย (LF) แต่ Visual Studio ใน Windows ชอบทำงานกับ Windows-style (CR LF) โดยปกติแล้วจะหายไปเมื่อคุณปรับมาตรฐานแต่ละไฟล์หนึ่งครั้งและบันทึกผลลัพธ์ ฉันบอกตัวเองอยู่เสมอว่าฉันจะเข้าไปแก้ไข & เทมเพลตทั้งหมดดังนั้นฉันจึงไม่จำเป็นต้องจัดการกับสิ่งนี้อีกแล้วจากนั้นฉันก็ไม่ทำ ... [เปิดเผยตัวเลือกให้กับ] แปลงอัตโนมัติแบบเงียบ ๆ เสียงเตือนคงที่น่ารำคาญจริงๆ)
DMGregory

... หรือเปลี่ยนเป็นรหัส VS มีปลั๊กอินของ Unity Asset Store ไว้ให้: assetstore.unity.com/packages/tools/vscode-45320
Jasper Citi

คำตอบ:


5

ใน Visual Studio คุณสามารถปิดการใช้งานการตรวจสอบนี้ (และทำให้คำเตือน) โดยการดูTools -> OptionsนำทางไปยังEnvironment -> Documentsส่วนของต้นไม้และยกเลิกการเลือก "ตรวจสอบสำหรับการสิ้นสุดของบรรทัดที่สอดคล้องกันในการโหลด"

วิธีนี้จะยับยั้งคำเตือน แต่ไม่สามารถแก้ปัญหาได้ ไฟล์ต้นฉบับจะยังคงมีการสิ้นสุดบรรทัดที่ไม่สอดคล้องกัน เป็นการดีที่คุณจะแก้ปัญหานี้โดยกำหนดค่าตัวแก้ไขทั้งหมดที่คุณใช้เพื่อแทรกการสิ้นสุดบรรทัดแบบเดียวกันหรือตรวจสอบสไตล์ที่มีอยู่โดยอัตโนมัติและเก็บรักษาไว้ น่าเสียดายที่ตัวแก้ไขข้อความทั้งหมดไม่สนับสนุนพฤติกรรมดังกล่าว ตัวอย่างเช่น VS ไม่มีค่าเริ่มต้นที่สามารถควบคุมได้ (แม้ว่าจะช่วยให้คุณกำหนดค่าสไตล์ที่ใช้บนพื้นฐานต่อไฟล์File -> Advanced Save Optionsแต่เป็นเรื่องน่าเบื่อจริงๆ)


ขอบคุณสำหรับความช่วยเหลือ ... ฉันคิดว่านักพัฒนาเครื่องมือเหล่านี้ไม่ได้รับการร้องเรียนมากมายเกี่ยวกับเรื่องนี้ดังนั้นพวกเขาจึงไม่เคยแก้ไขพฤติกรรมที่น่ารำคาญเช่นนี้
Mark S

7

จุดสิ้นสุดไฟล์ (EOF) | การสิ้นสุดบรรทัด, สิ้นสุดบรรทัด (EOL)

ดังที่ Josh Petrie พูดถึงคุณสามารถแก้ปัญหาได้โดยเปลี่ยนจุดสิ้นสุดบรรทัดของแต่ละสคริปต์ที่คุณเปิด ก่อนอื่นคุณต้องปิดสคริปต์ใน Visual Studio จากนั้นไปที่ Unity และดับเบิลคลิกในline ending warningข้อความUnity console Visual Studio จะเปิดสคริปต์ที่ขาดหายไปและหน้าต่างบทสนทนาสิ้นสุดบรรทัดจะปรากฏขึ้น ไปที่ส่วน Line endings และเลือกWindowsหรือแพลตฟอร์ม OS ที่คุณใช้ ตอนนี้ให้บันทึกสคริปต์และครั้งถัดไปที่คุณเปิด VS ข้อความจะไม่ปรากฏขึ้นสำหรับสคริปต์นี้

Visual Studio 2019

ถ้ามันไม่ทำงานเป็นวิธีแก้ปัญหาคุณสามารถบังคับใช้ปกติ

  • แก้ไข> ขั้นสูง> ตั้งค่าบรรทัดใหม่> CRLF (สำหรับ Windows)

สิ่งนี้จะแทนที่ LF เป็น CRLF ทั้งหมด

ค่าเริ่มต้นเริ่มต้น

เมื่อคุณสร้างสคริปต์ใหม่แม่แบบอาจมีการสิ้นสุดบรรทัดไม่ถูกต้อง ดังนั้นหากคุณเปลี่ยนแม่แบบ Unity ทุกครั้งที่คุณสร้างสคริปต์ใหม่คุณจะไม่พบปัญหาที่พบบ่อยนี้ หากต้องการเปลี่ยนเทมเพลตเริ่มต้นให้ไปที่ตำแหน่งที่ Unity ติดตั้งและค้นหาโฟลเดอร์ ScriptTemplates:

C: \ Program Files \ Unity ... Hub \ Editor \ 20xx.x ... Editor \ Data \ Resources \ ScriptTemplates

ใน Windows สคริปต์แม่แบบเริ่มต้นสามารถแก้ไขได้ในฐานะผู้ดูแลระบบหรือใช้รหัสผ่านของผู้ดูแลระบบ ตอนนี้เปิดแม่แบบสคริปต์นี้ด้วย VS (ไฟล์: 81-C # Script -... ) ใน VS เมื่อสคริปต์ที่เลือกไปที่ File -> Advanced บันทึกตัวเลือกหน้าต่างจะปรากฏขึ้นและเลือกWindowsหรือแพลตฟอร์มระบบปฏิบัติการที่คุณใช้ ตอนนี้ให้บันทึกสคริปต์และในครั้งถัดไปที่คุณสร้างสคริปต์ C # ใหม่ใน Unity ข้อความจะไม่ปรากฏขึ้นสำหรับสคริปต์ใหม่ทั้งหมดนี้

การติดตั้ง Strip'em สำหรับ VS 2010-2017

ตอนนี้คุณสามารถทดสอบว่าคุณต้องการเครื่องมืออื่นสำหรับ VS หรือไม่ วิดีโอเก่านี้ (ที่ขนาด 10m32s) สามารถช่วยคุณในกระบวนการได้ แต่วิดีโอส่วนที่เหลือล้าสมัยแล้ว คำเตือนอย่าทำตามบทช่วยสอนนี้ แต่ใช้งานไม่ได้อีกต่อไป ช่วยคุณในกระบวนการใช้ Strip'em (หลังจาก 10m32s)

https://youtu.be/2PVPz8Pnnrw?t=10m32s

เพื่อเปิดใช้งาน Strip'em ใน VS 2015 หลังจากการติดตั้งกดTools > Strip'emและเลือกระบบปฏิบัติการของคุณ Strip'em ใน VS Community 2017 คุณเพียงดับเบิลคลิกที่ตัวติดตั้งและนั่นคือทั้งหมด

http://www.grebulon.com/software/stripem.php


1

ถ้าคุณไม่มุ่งมั่นอย่างยิ่งกับ Visual Studio ฉันพบว่าแท้จริงเพียงแค่เปิดไฟล์ในโปรแกรมแก้ไขข้อความอื่น (เช่น Sublime หรือ VS Code) จากนั้นบันทึกไฟล์นั้นทันทีเพื่อแก้ไขปัญหา ฉันเคยมีประสบการณ์ที่ไม่ดีเกี่ยวกับ Visual Studio มาก่อนและมันก็ยากมากที่จะทำการแก้ไขข้อผิดพลาดแปลก ๆ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.