9

Tôi đang sử dụng Visual Studio 2012 để chỉnh sửa HTML và JavaScript. Tôi đang thêm mẫu bằng cách sử dụng chế độ xem một phần trong thẻ tập lệnh nội tuyến (xem mã bên dưới). AngularJS, một khung Javascript, yêu cầu loại đó là text/ng-template, nhưng Visual Studio không nhận ra nó là HTML và không cung cấp cú pháp tô sáng. Nếu loại là text/HTML mọi thứ hoạt động tốt.Visual Studio - Sử dụng loại thẻ tập lệnh tùy chỉnh cho mẫu HTML và tô sáng cú pháp

Câu hỏi của tôi: có cách nào trong Visual Studio 2012 để liên kết một loại tập lệnh tùy chỉnh để làm nổi bật cú pháp HTML không? Giải pháp sẽ hoạt động không chỉ cho text/ng-template, mà còn cho các loại khác mà bạn muốn làm nổi bật cú pháp HTML.

<script type="text/ng-template" id="filterOrder.html"> 
    <!-- Sidebar comment--> 
    Search: <input ng-model="query"/> 
    Sort by: 
    <select ng-model="orderProp"> 
     <option value="name">Alphabetical</option> 
     <option value="age">Newest</option> 
    </select> 
    <div id="status">Current filter: {{query}}</div> 
</script> 
+3

[This] (https://github.com/refactorthis/angularjs-visualstudio) _might_ trợ giúp, mặc dù tôi không chắc chắn. –

+0

Đó là vì lý do này tôi sử dụng templateUrl và partials tải bên ngoài, mỗi trong đó có tập tin html riêng. – Lukus

+0

có thể trùng lặp của [Giữ chính xác cú pháp HTML làm nổi bật trong

2

Đây là những gì tôi đã làm:

@using (Html.NgTemplate("Text")) 
{ 
    <div class="control-group"> 
     <label class="control-label">{{item.label}}</label> 
     <div class="controls"> 
      <input type="text" class="input-xxlarge" ng-model="item.value"> 
     </div> 
    </div> 
} 

Visual studio không có ý tưởng rằng nó là một thẻ script và mang lại cho tôi đầy đủ tính năng tự động hoàn tất.

+0

Có phải 'Html.NgTemplate' là trình trợ giúp tùy chỉnh không? a la http://stackoverflow.com/questions/14449312/keep-correct-html-syntax-highlighting-in-script-text-html-templates – drzaus

+0

Có. Chính xác hoặc giống như được xây dựng trong BeginForm – Kugel

0

Sử dụng câu trả lời của Trey Mack Tôi không thể tải danh sách các lớp học css trong lớp = "".

Tuy nhiên, bằng cách thay đổi loại thẻ thành văn bản/html và sửa đổi ứng dụng.run tôi nhận được cú pháp và danh sách tên lớp CSS.

<script type="text/html" id="home.html"> 
    <h3>HTML intellisense, code completion, and formatting!</h3> 
</script> 

sau đó ...

var app = angular.module('app', [...]); 

app.run(function ($templateCache) { 
    // <script type="text/ng-template"> ... is preferred, but VS 2012 doesn't give intellisense there 
    angular.element('script[type="text/html"]').each(function(idx, el) { 
     $templateCache.put(el.id, el.innerHTML); 
    }); 
}); 

T.B. Tôi đang sử dụng VS 2015