diff --git a/EditorExtensions/Classifications/CSS/Base64TaggerProvider.cs b/EditorExtensions/Classifications/CSS/Base64TaggerProvider.cs index 6a40201..ca560cd 100644 --- a/EditorExtensions/Classifications/CSS/Base64TaggerProvider.cs +++ b/EditorExtensions/Classifications/CSS/Base64TaggerProvider.cs @@ -74,7 +74,11 @@ public bool EnsureInitialized() return _tree != null; } - public event EventHandler TagsChanged; + public event EventHandler TagsChanged + { + add { } + remove { } + } void BufferChanged(object sender, TextContentChangedEventArgs e) { diff --git a/EditorExtensions/Completion/CSS/CompletionListEntry.cs b/EditorExtensions/Completion/CSS/CompletionListEntry.cs index b485be5..7a0a962 100644 --- a/EditorExtensions/Completion/CSS/CompletionListEntry.cs +++ b/EditorExtensions/Completion/CSS/CompletionListEntry.cs @@ -1,6 +1,5 @@ using System; using Microsoft.CSS.Editor; -using Microsoft.CSS.Editor; using Microsoft.VisualStudio.Language.Intellisense; using Microsoft.VisualStudio.Text; diff --git a/EditorExtensions/Margin/CoffeeScriptMargin.cs b/EditorExtensions/Margin/CoffeeScriptMargin.cs index 8c7772a..42901db 100644 --- a/EditorExtensions/Margin/CoffeeScriptMargin.cs +++ b/EditorExtensions/Margin/CoffeeScriptMargin.cs @@ -25,6 +25,20 @@ public CoffeeScriptMargin() // Used for project compilation } + protected override bool CanCompileFileOnSave(string fullPath) + { + if (!WESettings.GetBoolean(WESettings.Keys.GenerateJsFileFromCoffeeScript)) + return false; + + if (MadsKristensen.EditorExtensions.WEIgnore.TestWEIgnore(fullPath, "compiler", "coffeescript")) + { + Logger.Log(String.Format(CultureInfo.CurrentCulture, "CoffeeScript: The file {0} is ignored by .weignore. Skipping..", Path.GetFileName(fullPath))); + return false; + } + else + return true; + } + public void CompileProject(EnvDTE.Project project) { if(project == null) diff --git a/EditorExtensions/Margin/LessMargin.cs b/EditorExtensions/Margin/LessMargin.cs index 3ed21b1..7ccd5ba 100644 --- a/EditorExtensions/Margin/LessMargin.cs +++ b/EditorExtensions/Margin/LessMargin.cs @@ -15,6 +15,20 @@ public LessMargin(string contentType, string source, bool showMargin, ITextDocum : base(source, MarginName, contentType, showMargin, document) { } + protected override bool CanCompileFileOnSave(string fullPath) + { + if (!WESettings.GetBoolean(WESettings.Keys.GenerateCssFileFromLess)) + return false; + + if (MadsKristensen.EditorExtensions.WEIgnore.TestWEIgnore(fullPath, "compiler", "less")) + { + Logger.Log(String.Format(CultureInfo.CurrentCulture, "LESS: The file {0} is ignored by .weignore. Skipping..", Path.GetFileName(fullPath))); + return false; + } + else + return true; + } + protected override void StartCompiler(string source) { string fileName = GetCompiledFileName(Document.FilePath, ".css", UseCompiledFolder);// Document.FilePath.Replace(".less", ".css"); diff --git a/EditorExtensions/Margin/MarginBase.cs b/EditorExtensions/Margin/MarginBase.cs index 60a898f..493a988 100644 --- a/EditorExtensions/Margin/MarginBase.cs +++ b/EditorExtensions/Margin/MarginBase.cs @@ -29,6 +29,8 @@ public MarginBase() _dispatcher = Dispatcher.CurrentDispatcher; } + protected abstract bool CanCompileFileOnSave(string path); + protected MarginBase(string source, string name, string contentType, bool showMargin, ITextDocument document) { Document = document; @@ -51,6 +53,9 @@ protected virtual void Document_FileActionOccurred(object sender, TextDocumentFi { if (e.FileActionType == FileActionTypes.ContentSavedToDisk) { + if (!CanCompileFileOnSave(e.FilePath)) + return; + _dispatcher.BeginInvoke(new Action(() => { _provider.Tasks.Clear(); diff --git a/EditorExtensions/Margin/MarkdownMargin.cs b/EditorExtensions/Margin/MarkdownMargin.cs index 5dc3fe6..61aabcb 100644 --- a/EditorExtensions/Margin/MarkdownMargin.cs +++ b/EditorExtensions/Margin/MarkdownMargin.cs @@ -35,6 +35,11 @@ private void InitializeCompiler() } } + protected override bool CanCompileFileOnSave(string fullPath) + { + return true; + } + protected override void StartCompiler(string source) { InitializeCompiler(); diff --git a/EditorExtensions/Margin/TypeScriptMargin.cs b/EditorExtensions/Margin/TypeScriptMargin.cs index 38152ab..ef1e1ed 100644 --- a/EditorExtensions/Margin/TypeScriptMargin.cs +++ b/EditorExtensions/Margin/TypeScriptMargin.cs @@ -15,6 +15,11 @@ public TypeScriptMargin(string contentType, string source, bool showMargin, ITex SetupWatcher(); } + protected override bool CanCompileFileOnSave(string fullPath) + { + return true; + } + protected override void StartCompiler(string source) { if (_isFirstRun) diff --git a/EditorExtensions/Source.extension.vsixmanifest b/EditorExtensions/Source.extension.vsixmanifest index e4605ac..c393fe1 100644 --- a/EditorExtensions/Source.extension.vsixmanifest +++ b/EditorExtensions/Source.extension.vsixmanifest @@ -1,7 +1,7 @@  - + Web Essentials 2012 Adds many useful features to Visual Studio for web developers. http://vswebessentials.com/