Xamarin Studio 比 Visual Studio 2013 好用的三个功能
Xamarin Studio 比 Visual Studio 2013 好用的三个功能
Xamarin Studio 最近发布了 5.2 版本, 带来了一些相当棒的特性, 其中有一些特性甚至超越了 Visual Studio 2013, 接下来就介绍我认为最棒的并且比 VS2013 要好用的三个特性:
NuGet 包管理
Visual Studio 对 NuGet 包的管理是通过对话框来管理的, 如下图所示:
对 NuGet 包的添加、 更新、 删除等操作都在这个对话框内完成, 不过缺点也是每次都得打开这个对话 框。 Xamarin Studio 提供一些更加人性化的管理方式, 一部分功能可以通过上右键下文菜单来管理, 不需要打开包管理对话框。
自动检查更新
打开一个带有 NuGet 包引用的项目时, Xamarin Studio 会自动检查项目引用的包有没有新版本, 如 果有新版本, 则会在对应的节点上提示新版本, 如下图所示:
一键更新还原
当引用的 nuget 包有新版本时, 可以直接在包的节点上点击右键, 选择更新, 或者在包目录上右键, 选择更新全部有新版本的包, 而不必像 Visual Studio 那样打开 NuGet 包管理对话框, 如下图所 示:
如果需要的包需不是最新版本的, 只要修改一下 packages.config
文件里的对应包的版本号, 同样 右键选择 “还原 (Restore) ” 即可。
这一点与 Visual Studio 比起来还是方便很多的, 得打开包管理控制台, 输入这样一条命令才行:
PM> Install-Package package-id -Version package-version
重新指定目标
如果你在项目中使用了便携式类库项目 (PCL Library Project) , 调整了类库的目标之后, 对应的 nuget 包也要重新添加, 在 Visual Studio 中, 是通过删除重新添加来实现的, 或者输入命令:
update-package -reinstall
但是在 Xamarin Studio 中, 只需要点击一下右键, 选择 “ReTarget” 即可, 如下图所示:
Shared Project 项目
Visual Studio 中的 Shared Project 让多项目中的文件链接成为历史, 但是只支持 WinPhone 和 WinStore 两种项目类型, 其它项目类型 (Web, Library, PCL, Silverlight, WPF …) 都不支 持, 真是让人不爽, 不是不能支持, 只是不让你用而已, 其实就是一句 MSBuild
指令而已, 手工 编辑一下项目文件就行。
**创建 Shared Project **
然而, Xamarin Studio 则提供了比较广泛的 Shared Project 项目支持, 可以单独创建 Shared Project, 所有项目类型都可以引用 Shared Project , 如下图所示:
这一点还是非常赞的。
项目引用
Xamarin Studio 还有一点比较好的是对项目引用的分类, 来自包的引用单独作为一组, 这样看起来更 加清晰:
特别是对于便携式类库项目, 这样的分类看起来非常清楚:
以上三个功能是我认为最好的, 比 Visual Studio 做的要好的三个特性, 当然 Xamarin Studio 还有很多很好的特性, 就不再列举了, 希望这个开源的 IDE 能越来越好用!
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 巧用x-cos-traffic-limit header来限制上传下载速率
- centos7上编译安装php7以php-fpm方式连接apache
- 基于Python实现视频的人脸融合功能
- 如何理解python对象
- Virtualenv 搭建 Py项目运行环境的教程详解
- python字符串的index和find的区别详解
- 浅谈Python 参数与变量
- 宝塔面板成功部署Django项目流程(图文)
- Python celery原理及运行流程解析
- Python Scrapy图片爬取原理及代码实例
- Python-for循环的内部机制
- 解决Tensorflow2.0 tf.keras.Model.load_weights() 报错处理问题
- 基于python实现模拟数据结构模型
- keras的siamese(孪生网络)实现案例
- 浅谈cv2.imread()和keras.preprocessing中的image.load_img()区别