Webstorm:“ ไม่สามารถแก้ไขไดเร็กทอรี”


95

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

สองตัวอย่าง

Webstorm ถูกต้อง รหัสปลายด้านหน้าของฉันคือทั้งหมดใน/appแต่เซิร์ฟเวอร์ของฉันให้บริการขึ้นไฟล์ใน app บนรากดังนั้นในบริบทเว็บเป็นจริงเพียง/app /พฤติกรรมนี้ส่งผลกระทบต่อเทมเพลตเชิงมุมของฉันด้วยเช่นกัน:

Webstorm เกลียดเทมเพลตคำสั่งเชิงมุม

และเส้นทาง angular-ui ของฉัน (ฉันคิดว่ามันน่าจะเป็นเช่นนั้นสำหรับเส้นทางเชิงมุมปกติเช่นกัน)

Webstorm เกลียดเทมเพลตเส้นทางเชิงมุม

มีวิธีใดบ้างที่ฉันสามารถเปลี่ยนเว็บสตอร์มให้ถือว่า/appเป็นรูทเพื่อให้ฟีเจอร์นี้มีประโยชน์ ถ้าไม่ได้มีวิธีปิดการใช้งานนี้หรือไม่? ฉันพยายามเข้าไปตรวจสอบ แต่ไม่พบตัวเลือกสำหรับมัน:

ผู้ตรวจการเว็บสตอร์ม

และไม่ใช่ไม่ใช่ XML ... ฉันลองแล้ว

ช่วยชื่นชม ขอบคุณ ...


2
คลิกขวาที่ไดเรกทอรีที่มีทรัพยากรและเลือกไดเรกทอรีทำเครื่องหมายว่า -> ทรัพยากรราก
fracz

คำตอบ:


182

เพื่อให้การอ้างอิงไฟล์ไปยังโฟลเดอร์ที่ไม่ใช่รากในโครงการของคุณคุณจะต้องทำเครื่องหมายไดเรกทอรีที่เป็นทรัพยากร ในการดำเนินการนี้ให้ไปที่การตั้งค่า> ไดเรกทอรีและเลือกโฟลเดอร์รูทสินทรัพย์ของคุณจากแผงด้านขวา จากนั้นทำเครื่องหมายเป็น Resource Root โดยคลิกปุ่มเหนือไฟล์เบราว์เซอร์

จากเอกสาร Jetbrains, รากทรัพยากรช่วย WebStorm เส้นทางญาติที่สมบูรณ์ให้กับทรัพยากรภายใต้โฟลเดอร์ที่เลือก ซึ่งหมายความว่าคุณควรใช้ Resource Root ในโฟลเดอร์ที่เก็บทรัพยากรทั้งหมดที่คุณต้องการอ้างถึง (เช่นสไตล์สคริปต์ ... )


2
ฉันมีปัญหาเดียวกัน: "ไม่สามารถแก้ไขไฟล์" ไม่สามารถแก้ไขไดเร็กทอรี " ดูเหมือนว่า WebStorm ซึ่งเป็น phpStrom มีปัญหานี้มาเป็นเวลานานมากมีหลายร้อยดอกที่ถามสิ่งเดียวกันดูเหมือนว่าจะไม่มีคำตอบที่ชัดเจนจริงๆ ย้อนกลับไปในปี 2011 ดูเหมือนว่าคำตอบที่พบบ่อยที่สุดคือ - ต้องทำเครื่องหมายไดเรกทอรีนั้นเป็น Resource root - ต้องการแมปไดเร็กทอรี / ไฟล์ในการตั้งค่า> php> เซิร์ฟเวอร์ - ปิดการตรวจสอบ <อันนี้ทำให้ฉันแตก .... เป็นเหมือน ปิดการแจ้งเตือน
rudy

3
สำหรับฉันฉันกำลังทำเครื่องหมายโฟลเดอร์ "css" และ "js" เป็นรูททรัพยากร แต่ฉันยังคงได้รับการแจ้งข้อผิดพลาด ทั้งคู่อาศัยอยู่ภายใต้ไดเรกทอรี "www" การทำเครื่องหมายโฟลเดอร์ www เป็นรูททรัพยากรในที่สุดก็กำจัดการแจ้งเตือน ดังนั้นหากอิมเมจ js และ css ของคุณอยู่ภายใต้ไดเร็กทอรีเดียวคุณสามารถทำเครื่องหมายไดเร็กทอรีหลักเป็น Resource root ได้
b01

ใน Webstorm 9.x บน Mac จะอยู่ภายใต้ Webstorm-> Preferences -> "ชื่อโปรเจ็กต์ที่คุณโหลดอยู่" -> ไดเร็กทอรี
ra170

ฉันมีสถานการณ์เดียวกันและทำเครื่องหมายไดเรกทอรีอย่างถูกต้อง แต่ anyways ตรวจสอบรหัสที่มีเครื่องหมายพวกเขาเป็นไม่พบ ทำการรีสตาร์ท PHPStorm (เวอร์ชัน 9) บางทีการเปิดโครงการใหม่ก็เพียงพอแล้ว
Markus Zeller

สำหรับบันทึกใน PhpStorm 10 (Mac) การทำเครื่องหมาย Resource Root ได้แก้ไขข้อผิดพลาดทันที แต่เห็นได้ชัดว่าระยะทางของคุณอาจแตกต่างกันไป
William Turrell

19

ฉันมีปัญหานี้บน Mac และแก้ไขได้โดยการเปลี่ยนคุณสมบัติไดเรกทอรี

  1. เปิดการตั้งค่า:

Webstorm > Preferences

  1. ไปที่ส่วนไดเรกทอรีในการตั้งค่า

Project > Directories

  1. เพิ่มรูทเนื้อหาและรากทรัพยากร

ภาพหน้าจอหลังจากเพิ่มรูททรัพยากร


กระบวนการนี้ไม่สามารถแก้ไขปัญหาเส้นทางของฉันได้ ฉันยังใช้เส้นทางที่ยาวเช่น "../../src/style.scss" เพื่อนำเข้าไฟล์ scss เมื่อใช้วิธีการข้างต้นนี้ Webstorm จะเข้าใจและแก้ไขข้อผิดพลาดของเส้นทาง แต่ในขณะที่เผยแพร่โครงสร้างโครงการของฉัน (ในเชิงมุม 7) ฉันได้รับข้อผิดพลาดที่แจ้งว่าไม่พบไฟล์ scss
akgupta

6

สำหรับผู้ที่ใช้ IntelliJ Ultimate:

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


3
เฮ้! ฉันทำตามนี้ไม่มีโชค (ฉันยังคงได้รับคำเตือน "ไม่สามารถแก้ไขไดเรกทอรี" ที่น่ารังเกียจ) มีอะไรอีกไหมที่ฉันต้องทำนอกเหนือจากการทำเครื่องหมายไดเรกทอรีเป็น Sources
Madara's Ghost

สมมติว่าโครงสร้างไดเร็กทอรีของคุณมีดังต่อไปนี้folder1/folder2/..ซึ่งfolder2มีทรัพยากรทั้งหมดของคุณ คุณจำเป็นต้องทำเครื่องหมายfolder1เป็นSourceและเป็น folder2 อ้างอิงResource
Rothin Sen

2

ในไฟล์ JetBrains WebStrom Goto -> การตั้งค่า -> แผงด้านซ้ายเลือกโครงการ -> คลิกที่ไดเร็กทอรี -> แผงกลางเลือกรูททรัพยากร -> เพิ่มโฟลเดอร์ / ไดเรกทอรีภายใต้โครงการของคุณเพื่อใช้อ้างอิงหรือในแผงด้านขวาคุณสามารถทำได้ ดู+ เพิ่มรูทเนื้อหาเลือกไดเร็กทอรีและใช้ -> ตกลง

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