How to use Sass in Visual Studio 2013 [closed]

2019-01-21 02:50发布

How can I use the Sass CSS preprocessor in Visual Studio 2013? Are there any extensions that provide support for Sass?

11条回答
Anthone
2楼-- · 2019-01-21 02:54

In Visual Studio 2013 SP 4 there is no problem adding a SCSS file and syncing on every save. I got confused when syncing failed, I found the problem was using a variable before it was defined. The SCSS file doesn't show any error but sync fails.

This works for sync:

$body-main: 45px;
body {
    padding-top: $body-main + 25px;
    padding-bottom: $body-main - 5px;
}

This doesn't work for sync

body {
    padding-top: $body-main + 25px;
    padding-bottom: $body-main - 5px;
}
$body-main: 45px;

In the second case there are no errors and intellisense works, but sync fails.

查看更多
Emotional °昔
3楼-- · 2019-01-21 02:57

Visual Studio 2013 Update 2

Visual Studio 2013 Update 2 has native syntax support for both SCSS and LESS files. You can create SCSS or LESS files and see syntax highlighting and intellisense for these file types. It does not however provide a method of compilation.

Here's a link to the blog explaining about the new features:

We added LESS in VS2013 RTM, and we now have a SASS project item and editor. SASS editor features are comparable to LESS editor, include colorization, variable and Mixins IntelliSense, comment/uncomment, quick info, formatting, syntax validation, outlining, goto definition, color picker, tools option setting etc.

Please note: This update seems to support the newer SassyCSS syntax only. I've tried getting it to work with the older indented SASS syntax without any success.

Compilation

  • Web Essentials. This is a great tool which does all the 'grunt' work for you. Newer versions of Web Essentials are available for Visual Studio 2013 Update 3, 4 and 5.
  • Another free one that just handles compilation is CompileSASS this also works in VS2015.
  • Alternatively you could use MindScape's WebWorkbench, which is a great tool with lots of nice features. There is a free version which does just about enough to get by but there is also a paid version which is far more comprehensive (but in my opinion a little too expensive considering there is a better free alternative).

Visual Studio 2015

For those of you moving to Visual Studio 2015, unfortunately there is still no native support for SASS and LESS compilation. And unfortunately Web Essentials will no longer be supporting compilation either. The author of Web Essentials (Mads Kristensen) explains the reason for this decision here.

Here are a list of extensions that can handle compilation:

WebCompiler (FREE)

Mads Kristensen (the author of web essentials) has created a standalone compilation tool called Web Compiler. All you have to do is install it, then right click on any of the SASS files you want to compile and select Web Compiler > Compile File. From that point on it is watched and anytime it is saved, the file will be compiled.

Download Web Compiler

CompileSASS (FREE)

Similar to Web Compiler this is a standalone extension that was created to work in both VS2013 and VS2015 because compilation was removed from the popular Web Essentials extension. It's lightweight and does the job very well with great error reporting. Read the author's blog about the extension here.

Download Compile SASS

Web Workbench (FREE/PAID)

Mindscape's Web Workbench was my favourite extension for many years when compiling SASS but I have since moved away in favour of the free alternatives. Still, the Pro version is a powerful tool with many ways to customise the outputted files but it is also quite expensive ($39) considering there are free tools out there.

Download Web WorkBench


Visual Studio Code

Same deal as above really, it has native support for SASS and LESS through syntax highlighting and Intellisense but lacks compilation.

Any of the compilers outlined above will work but if you wanted to set up compilation manually here is a brilliant guide:

https://code.visualstudio.com/Docs/languages/css

查看更多
淡お忘
4楼-- · 2019-01-21 02:58

for ASP.NET there is a couple of ways to do integrate with SASS. Chripy is a common plug-in this is something you want to install in visual studio as an extension.
and thus design time compilation , you can find out more about chripy in http://chirpy.codeplex.com/ ,
as well as there is another package you can install via Nuget :

install-package SassAndCoffee
查看更多
Summer. ? 凉城
5楼-- · 2019-01-21 03:01

For anyone else looking for an answer to this, I'm posting to save you time as some of the answers are a little out of date.

Whilst working on a small web project in Visual Studio 2013, I wanted to use SASS for the first time. I did some digging and discovered VS 2013 Update 2 was released with native support for SASS (.scss) files.

After a bit more digging, and with no experience of using SASS, I installed Web Essentials 2013 for Update 2 that is used to compile and generate the corresponding .css files.

Even still, I wasn't clear on how it all tied together, but this blog post did a great job of explaining everything for a first timer.

Snippets From Blog (Credit to @akatakritos)

  1. Visual Studio 2013 provides the ability to add SASS files (.scss)
  2. Install Web Essentials 2013 for Update 2
  3. Add a new .scss file to your project, e.g. styles.scss
  4. Update styles.scss, save, and it will auto generate a styles.css file under the .scss file
  5. You can then bundle or link it like a regular .css file

UPDATE July 2015:

In a later Web Essentials update, namely: Version 2.5 for Update 4 Nov 12. 2014, the SASS compiler has been removed.

Alternate compilers:

查看更多
迷人小祖宗
6楼-- · 2019-01-21 03:06

If you have MVC 6, you could just use gulp. Original source here: http://developer.telerik.com/featured/css-preprocessing-with-visual-studio/

Add the NPM dependencies in package.json:

{
  "name": "ASP.NET",
  "version": "0.0.0",
  "devDependencies": {
    "gulp": "3.8.11",
    ...
    "gulp-sass": "2.2.0",
  },
  "dependencies": {
    "gulp-sass": "^2.2.0"
  }
}

Then in gulpfile.js:

var gulp = require("gulp"),
    ...
    sass = require("gulp-sass");


paths.js = paths.webroot + "js/**/*.js";
...
paths.sass = paths.webroot + "css/**/*.scss";
paths.cssOutput = paths.webroot + "css";


gulp.task('sass', function () {
    gulp.src(paths.sass)
        .pipe(sass().on('error', sass.logError))
        .pipe(gulp.dest(paths.cssOutput));
});

Finally, in the Task Runner Explorer, right-click on your new task sass then Bindings then select After Build

查看更多
成全新的幸福
7楼-- · 2019-01-21 03:07

Last version of Visual Studio + last version of Web Essentials http://vswebessentials.com/download allows to use Sass and Less out of the box.

查看更多
登录 后发表回答