2013-04-30 11 views
9

के लिए कस्टम स्क्रिप्ट टैग प्रकार का उपयोग करना मैं HTML और जावास्क्रिप्ट को संपादित करने के लिए विजुअल स्टूडियो 2012 का उपयोग कर रहा हूं। मैं इनलाइन स्क्रिप्ट टैग में आंशिक दृश्यों का उपयोग करके टेम्पलेट जोड़ रहा हूं (नीचे कोड देखें)। एंजुलरजेएस, जावास्क्रिप्ट फ्रेमवर्क, के लिए आवश्यक है कि प्रकार text/ng-template हो, लेकिन विजुअल स्टूडियो इसे HTML के रूप में नहीं पहचानता है और सिंटैक्स हाइलाइटिंग प्रदान नहीं करता है। यदि प्रकार text/HTML है तो सब कुछ ठीक काम करता है।विजुअल स्टूडियो - HTML टेम्पलेट्स और सिंटेक्स हाइलाइटिंग

मेरा प्रश्न: क्या एचटीएमएल सिंटैक्स हाइलाइटिंग करने के लिए कस्टम स्क्रिप्ट प्रकार को जोड़ने के लिए विजुअल स्टूडियो 2012 में कोई तरीका है? समाधान न केवल text/ng-template के लिए काम करना चाहिए, लेकिन अन्य प्रकारों के लिए जहां आप 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

[यह] (https://github.com/refactorthis/angularjs-visualstudio) _might_ मदद का उपयोग कर रहा हूं, हालांकि मुझे यकीन नहीं है। –

+0

यह इसी कारण से मैं टेम्पलेट यूआरएल का उपयोग करता हूं और आंशिक रूप से आंशिक रूप से लोड करता हूं, प्रत्येक में स्वयं की HTML फ़ाइल होती है। – Lukus

+0

संभावित डुप्लिकेट [

2

यह मैं क्या किया है:

@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> 
} 

दृश्य स्टूडियो पता नहीं है कि यह एक स्क्रिप्ट टैग है और मुझे पूर्ण स्वत: पूर्ण देता है।

+0

'एचटीएमएल.NgTemplate' एक कस्टम सहायक है? एक ला http://stackoverflow.com/questions/14449312/keep-correct-html-syntax-highlighting-in-script-text-html- टेम्पलेट्स – drzaus

+0

हां। सटीक रूप से या BeginForm में निर्मित की तरह – Kugel

0

ट्रे मैक के उत्तर का उपयोग करके मैं कक्षा = "" में सीएसएस कक्षाओं की सूची प्राप्त करने में सक्षम नहीं था।

हालांकि, टैग प्रकार को टेक्स्ट/एचटीएमएल में बदलकर और app.run को संशोधित करके मुझे सिंटैक्स और सीएसएस क्लास नाम सूची मिल रही है।

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

...

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); 
    }); 
}); 

पी.एस. मैं वीएस 2015

संबंधित मुद्दे