Visual Studio 2015初体验——前端开发工作的问题
前言
因为后台项目开发适用的VS2015,为了跟后台开发配合,前端部门也统一从VS2013升级到了VS2015。
因为C盘空间不足要先卸载,这里就不说卸载2013时花了多长时间,只说安装2015时用了将近3个小时,不过安装的是英文版,又去下载了中文语言包,一个语言包居然也高达2个多G,真不知道里面到底有多少东西。
总之最终装好了,开始安装WEB开发“套件”:WEB Essentials2015.1+ReSharper10+TypeScript1.7(自带)+JSDOC
都搞定后发现若干问题。。。。
VS2015的前端开发问题
1、TypeScript开发没有右侧的实时编译预览了
我非常喜欢这个功能,可以实时看到编译后的代码,既可以保证编译后的JS是我想要实现的代码,也可以顺带学习TypeScript语法与原理。但是他没有了,我知道这个实时预览功能是WEB Essentials插件提供的,遂去插件的选项面板,发现居然没有TypeScript这个子选项了,连SASS,LESS,CoffeeScript选项都没了,只有CSS和JS还有HTML,几乎跟完全报废了一样。
去官方网站上查,原作者的答复是:
madskristensen:
The TS preview pane has been removed from Web Essentials 2015 due to continuously running into conflicts with the TS compiler when new versions come out. The TS team are aware of it and I hope they will add the feature into the TS tooling in the future. It is possible that this feature will be included in the brand new Web Compiler extensions (https://visualstudiogallery.msdn.microsoft.com/3b329021-cd7a-4a01-86fc-714c2d05bb6c) when preview panes have been implemented.
大概意思是因为VS的bug导致WEB Essentials2015插件移除了所有编译器,自然也就没有了实时预览。
好吧,没有预览我还能接受,至少他还可以用,可以工作。
原文链接:https://github.com/madskristensen/WebEssentials2015/issues/53
2、SASS开发没有右侧实时CSS编译预览
原因同上,因为都是WEB Essentials插件提供的支持。
3、SASS,LESS无法编译
这个我就不能忍了,无法编译成CSS就没法工作了,不过WEB Essentials的作者提供给了一个新插件:Web Compiler。
Web Compiler
A Visual Studio extension that compiles LESS, Sass, JSX, ES6 and CoffeeScript files.
看介绍似乎是专门为了解决VS2015的编译问题的插件,装好以后,发现并不能想VS2013中那样只要按下Ctrl+S就可以自动编译。
需要编译哪个SASS文件,再手动将其添加入他的编译文件列表,之后才能使用Ctrl+S自动编译。

点击“Compile File”手动将scss文件添加到需编译文件列表(compilerconfig.json)并指定其文件路径:
[
{
"outputFile": "Style/StyleSheet1.css",
"inputFile": "Style/StyleSheet1.scss"
},
{
"outputFile": "Style/main.css",
"inputFile": "Style/main.scss"
}
]
虽然他也提供了Compile all的功能,但事实上还是不太好用,对于新创建的SASS文件依然不能自动包括进来,还是需要手动触发编译。依然没有VS2013里面那样好用。

试用到这里我已经下定决心卸载VS2015了,重新用回VS2013,等2015再发展一段时间,修复一些bug之后再用吧。
卸载VS2015时的痛苦不说了,至今还未卸载干净….
解决方案
即自己配置Grunt和Bower,来实现保存自动编译。
因为项目进度吃紧,技术先往后放,遂并不打算再新增额外的工作,想了解具体的可以参考stackoverflow上的讨论。
完整解决方案:
1、http://stackoverflow.com/questions/30107925/how-to-compile-sass-files-on-save-in-visual-studio-2015
2、http://www.gibedigital.com/blog/2015/may/28/compiling-sass-in-visual-studio-2015/
最后
根据博友的评论,更新一段。
本文实为一篇标题党,发了很多牢骚,也引起了我作为开发者的思考,但同时不可否认VS2015在前端开发的努力与进步,也增加很多对前对优化的功能,真的很多。
而且从微软近期的一系列动作而言,都有拥抱开源之态。也改变了之前的“替你做好所有事”的一站式服务思想。
非常赞同博友@kennywangjin的观点:
请仔细阅读vs2015的相关文档,不要以为2013=》2015就是一个刷数字的游戏。
VS2015的前端需要用到gulp或者grunt,号称前端开发,这两个不知道的话有点对不起自己的称号。
说WIN10或者VS2015不行的,请仔细反省下是不是自己的想法过于陈旧,还停留在以前的开发思路上。微软在积极向开源领域靠拢,开发者是不是也应该要逐渐转变思路了?
不要怪变化太快。穷则思变,变则通,通则久,以微软如今的处境,想要东山再起,必须要进行大幅度的改革,这是阵痛,熬过了自然前途无限;开发者也应该有此准备。
这是一个你跑着都追不上变化的时代。
(完)
原文链接-http://www.cnblogs.com/xxcanghai/p/5032447.html
Visual Studio 2015初体验——前端开发工作的问题的更多相关文章
- Visual Studio 2015 初体验
据微软介绍每次发布的新版本,都承载着为开发者提供最高效的Visual Studio开发体验的使命.Visual Studio 2015亦延续了这一趋势,为开发者带来了进一步的生产力创新,包括调试和诊断 ...
- Visual Studio 2015 未响应/已停止工作的问题解决
在我把之前项目从10版本升级到15版本的时候,一打开转换的项目过几分钟立马卡死,出现未响应/已停止工作的问题,我试过了很多方法: 1.升级操作系统,8.1升级10,没用! 2.重装VS,没用! 3.卸 ...
- Visual Studio 2015 移动跨平台开发初体验
微软换了新 CEO 后变化很大,对我们团队最有利的消息就是 Visual Studio 2015 支持移动应用跨平台开发. 还记不记得很早之前,Xamarin 宣布与微软成为合作伙伴的消息.显然,Xa ...
- Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一)
基于 Windows 10 的 Visual Studio 2015 跨平台的应用开发主要分为基于Visual Studio 安装 Xamarin 扩展的跨Android.iOS 和 Windows的 ...
- Visual Studio 2015 开发MVC4出现错误
在Visual Studio 2015(以下简称VS2015)中开发MVC4项目时,编译报错"当前上下文中不存在ViewBag",一直无法编译,这个是否是VS2015的Bug? 本 ...
- Visual Studio 2015 和 Apache Cordova 跨平台开发入门
原文:Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一) 基于 Windows 10 的 Visual Studio 2015 跨平台的应用开发主要分为基于V ...
- Visual Studio 2015官方汇总包括下载和视频
7月20日 23:30 Visual Studio 2015正式版正式发布,作为微软新一代开发利器,在全地球乃至全宇宙乃至全太阳系中最强大 且没有之一的IDE(上述描述来自微博用户评论)跨平台支持成 ...
- 如何正确并完全安装Visual Studio 2015企业版本?
http://blog.csdn.net/code_godfather/article/details/47381631 [简介] 常用网名: 猪头三 出生日期: 1981.XX.XX 个人网站: ...
- Visual Studio 2015 前端开发工作流
Visual Studio 2015 CTP 5,全称为 Visual Studio 2015 Community Technology Preview 5,意为社区技术预览版,之前的版本为:Visu ...
随机推荐
- php5.3新特性 之 mysql native driver(mysqlnd)
概述 本文主要写给sa看的.码农就不用看了. mysql native driver(mysqlnd) 自从php5.3.0开始成为官方源代码的一部分, 用来取代传统的mysql client lib ...
- 编写Java应用程序。首先,定义一个Print类,它有一个方法void output(int x),如果x的值是1,在控制台打印出大写的英文字母表;如果x的值是2,在 控制台打印出小写的英文字母表。其次,再定义一个主类——TestClass,在主类 的main方法中创建Print类的对象,使用这个对象调用方法output ()来打印出大 小写英文字母表。
package zuoye; public class print1 { String a="abcdefghigklmnopqrstuvwxyz"; String B=" ...
- hadoop2.2.0伪分布式搭建1--准备Linux环境
1.0修改网关 点击VMware快捷方式,右键打开文件所在位置 -> 双击vmnetcfg.exe -> VMnet1 host-only ->修改subnet ip 设置网段:19 ...
- 在eclipse中使用maven创建springMVC项目
一.在eclipse中创建maven-archetype-webapp项目: 1.新建项目选择maven项目 2.默认,下一步 3.选择maven-archetype-webapp,其他保持默认即可 ...
- Linux开机启动(bootstrap)
计算机开机是一个神秘的过程.我们只是按了开机键,就看到屏幕上的进度条或者一行行的输出,直到我们到达登录界面.然而,计算机开机又是个异常脆弱的过程,我们满心期望的登录界面可能并不会出现,而是一个命令行或 ...
- 8、FTP,二种文本传输模式
一.基本知识 1. FTP是 TCP/IP协议族 的协议之一,简称文件传输协议,主要用于远距离文件传输,如文件的上传和下载 2. 下面都是以VSFTP服务器为例 VSFTP服务器的用户有三种形式: 匿 ...
- aircack-ng抓握手包
1.关闭影响进程 airmon-ng check kill 将要进入监听模式的无线网卡断开它已连接的AP 2.查看无线网卡的名字 ifconfig ,例如 wlan0 3.进入监听模式: airmon ...
- c++关于析构的那点小事(个人吐槽向
#include<iostream> using namespace std; class test { int *i; public: test(int n) { i = new int ...
- Navicat for MySQL连接MYSQL出错,错误代码1045的解决方法
Navicat for MySQL连接MYSQL
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred)
A 思路: 贪心,每次要么选两个最大的,要么选三个,因为一个数(除了1)都可以拆成2和3相加,直到所有的数都相同就停止,这时就可以得到答案了; C: 二分+bfs,二分答案,然后bfs找出距离小于等于 ...