2015-07-28 26 views
5

Trong môi trường của chúng tôi, chúng tôi viết mẫu Javascript có các khu vực nơi xử lý trước máy chủ chèn các giá trị vào mã.IntelliJ IDEA và backticks (`)

Một ví dụ sẽ trông như thế này:

var myVarValue = "`serverProcessedVarValue()`"; 

Ở phía trên, máy chủ chạy các chức năng xác định địa giới backticks và ghi kết quả giữa các dấu ngoặc kép, sau đó tàu mà javascript tắt cho trình duyệt.

Chúng tôi sử dụng IntelliJ IDEA. Nó (và Webstorm, tôi giả định) làm nổi bật các backticks như một lỗi mã hóa. Tôi không thể tìm thấy cài đặt để thay đổi hành vi đó. Có cái nào không?

Cảm ơn!

+0

IntelliJ có lẽ đang nghĩ rằng bạn đang viết * hợp lệ * JavaScript trong đó. Có phải trường hợp bạn muốn có khả năng thực thi nó như một tệp JS, hay là nó dành riêng cho việc tạo khuôn mẫu? – Makoto

+0

Vâng, tôi không chắc tôi hiểu câu hỏi của bạn. Tuy nhiên, các tập tin được thấy trong IDE phải là Javascript hợp lệ - ngoài các backticks. Tất nhiên, JS sản xuất là kết quả của việc phân tích cú pháp của tệp này trên máy chủ. Vì vậy, tôi đoán bạn có thể nói các tập tin trong IDE là chỉ duy nhất cho templating. Nhưng, nội dung của nó cần phải vượt qua cơ bắp. – stackleit

Trả lời

1

Không có cài đặt nào như vậy. IntelliJ IDEA xây dựng một cây cú pháp hoàn chỉnh cho tệp bạn đang chỉnh sửa và tất cả các tính năng của nó dựa vào việc có cây cú pháp hoàn chỉnh. Do đó, không thể nói nó bỏ qua các ký tự nhất định - nó sẽ không biết cách phân tích mã còn lại và cách xác nhận hợp lệ cây cú pháp kết quả.

Những việc bạn có thể làm là viết plugin để phân tích cú pháp JavaScript cụ thể của bạn với mẫu hoặc thay đổi cú pháp bạn đang sử dụng để khớp với một trong các ngôn ngữ mẫu đã được IntelliJ IDEA hỗ trợ.

5

Backtick được hỗ trợ trong ES6 cho chuỗi nhiều dòng và có cài đặt "phiên bản ngôn ngữ JavaScript" trong WebStorm. Thay đổi nó thành ES6, sẽ thay đổi hành vi đó.

Các vấn đề liên quan