关于智能提示vs2008和vs2010都是很强大了!但是很多我们知道但是也没有怎么合理应用,真是可惜了啊,如果合理用起来那么会提高我们的开发效率和减少出错几率哦,如果没有智能提示,我想我会疯的. 因为我只是不确信输入的单词是否正确!
 
呵呵,先来看看js的智能提示和方法提示说明
首先新建一个common.js文件,vs2010里面新建web网站的时候,会自动添加JQ引用的!为了common.js也支持JQ,文件头加上reference 语句!
 
//关于JS提示: 使用 reference path
/// <reference path="Scripts/jquery-1.4.1-vsdoc.js"/>
String.prototype.trim = function () {
/// <summary>清除两端空格</summary>
/// <returns type="String" />
return this.replace(/(^\s*)|(\s*$)/g, "");
}

说明:summary里面为该方法的说明, returns 为返回值类型说明!你也许觉得reference ,summary这些单词多难敲啊! 呵呵,这里就需要用到Snippets(代码块)

当你输入 ref ,sum的时候,智能提示就会出来,你只需要按Tab+Tab即可!注意看ref前面的小图标,只要是这种图标的你都可以按两下Tab键,就会快速出来预定义的代码片段!

接下里你新建一个 sp2010.js 的js文件 ,这个文件你需要调用 common.js里面的trim函数

//关于JS提示: 使用 reference path
/// <reference path="common.js"/>
/// <reference path="Scripts/jquery-1.4.1-vsdoc.js"/> function testTrimStr(str) {
/// <summary>测试去掉字符串两端空格</summary>
/// <param name="str" type="String">需要去掉空格的参数</param>
/// <returns type="String" />
return str.trim();
}

 

说明:

如果你没有指明param 的参数或者param 参数的type为String类型,不会有智能提示图片1和图片3,但你把param 参数指明的时候,就会看到提示了!

这样就用调用C#里面的方法一样(如果方法写了注释) 都可以看到参数和返回值! 这样的JS的调用起来才得心应手吧!

接下里新建 Default.aspx 页面,调用sp2010.js 里面的testTrimStr()方法 (当然有人肯定说,你这样太啰嗦了吧,直接调用trim()啊,这里只是演示)

<script src="Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script src="common.js" type="text/javascript"></script>
<script type="text/javascript" src="sp2010.js"></script> <script type="text/javascript">
function test(name,age) {
/// <summary>我的测试方法</summary>
/// <param name="name" type="String">姓名</param>
/// <param name="age" type="Int">年龄</param>
/// <returns type="String" />
return name + " " + age;
}
</script> <script type="text/javascript">
$(function () {
var a = " test ";
alert(testTrimStr(a));
alert(test("harvey", 22));
});
</script>
 

调用时,参数,返回值都一目了然!

如何知道更多的代码块和自定义代码块?

在JS区域中,HTML区域中,C#后台中,快捷键Ctrl+K,Ctrl+X会出现前三幅图片,Ctrl+K,Ctrl+b出来第四幅图片,主要是管理Snippets,可以导入,导出! 所有的Snippets都是 按两下Tab+Tab调出

下面自定义一些 Snippets,新建一个XML文件,键入如下代码, 另存为 sptoolbar.snippet

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippet Format="1.0.0" xmlns="http://schemas.microsoft.com/VisualStudio/2005/CodeSnippet">
<Header>
<Title>sptoolbar</Title>
<Author>Harvey</Author>
<Shortcut>sptoolbar</Shortcut>
<Description>用于Sharepoint中的ToolBar</Description>
<SnippetTypes>
<SnippetType>Expansion</SnippetType>
</SnippetTypes>
</Header>
<Snippet>
<Code Language="html">
<![CDATA[
<%@ Register TagPrefix="wssuc" TagName="ToolBar" Src="~/_controltemplates/ToolBar.ascx" %>
<%@ Register TagPrefix="tbb" TagName="ToolBarButton" Src="~/_controltemplates/ToolBarButton.ascx" %>
<wssuc:toolbar id="UserManagerToolBar" runat="server">
<!--button显示在左边-->
<template_buttons>
<tbb:ToolBarButton runat="server" id="tbbAdd" Text="添加" ToolTip="添加" ImageUrl="" OnClientClick="" Click=""/>
</template_buttons>
<!--button显示在右边-->
<template_rightbuttons>
<tbb:ToolBarButton runat="server" id="tbbDelte" Text="删除"/>
</template_rightbuttons>
</wssuc:toolbar>
]]>
</Code>
</Snippet>
</CodeSnippet>

上面就是一个新建Snippet的模板,你肯定觉得每次都敲这么多重复的轮子是一件很痛苦的事情!还记得上面的快捷键吗?Ctrl+K,Ctrl+X调出代码块, 注意如果这里你直接输入 Snippet 按两下Tab+Tab是不行的,有些时候还是用Ctrl+K,Ctrl+X吧! 这样你就可以直接在 CDATA 填你的核心就是了! 如果需要更详细的Snippet 的了解,可以打开系统默认的Snippet 看几个,你就明白了!

Ctrl+K,Ctrl+b调出代码段管理器,导入刚才保存的sptoolbar.snippet 即可! 注意保存的语言选择和你自定义的snippet 匹配哦,比如这个snippet 在HTML页面中使用,语言就选择HTML,在C#后台中使用,就选择visual C#

测试刚才自定义的!  Ctrl+K,Ctrl+X ,一切OK

说明: 自定义snippet 调用的时候好像只能 Ctrl+K,Ctrl+X才能看到,不能像系统那样,输入首字母智能提示就出来了! 也许是我那里没有弄好! 虽然没有智能提示,但是你也可以直接输入 sptoolbar 按Tab+Tab 直接调用!

虽然在vs2008里面也可以这样,但是当时我也只是初步了解了解,没有具体实践过,这次看VS2010TrainingKit  的时候,第一个labs就是这个,顺便自己也记录记录.

参考 VS2010TrainingKit

vs2010中 js的intellisense(智能提示) 和 Snippets(代码块)的更多相关文章

  1. 用CS-Script把Notepad++变身支持智能提示和运行代码的C#集成开发环境

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:用CS-Script把Notepad++变身支持智能提示和运行代码的C#集成开发环境.

  2. 在使用VS过程中关于Javascript没有智能提示的解决方法

    问题:编写基本Script代码没有问题,但是在编写DOM代码时候没有智能提示.也就是在编写一般javascript代码时候没有问题,但是要写DOM代码的时候发现没有智能提示,如document等都需要 ...

  3. 在Powershell ISE中添加sharepoint的智能提示,Enable SharePoint PowerShell Commandlets in the PowerShell ISE

    Powershell ISE在默认状态下有一个不好的地方就是不会显示关于SharePoint的一些智能提示,例如你写一个"get-"后面提示的选项里没有sp开头的一些对象.于是找了 ...

  4. Android开发中Eclipse里的智能提示设置

    今天开始学习一下Android开发,直接在Android Developers下载的一个开发工具包,然后再下了一个JDK,配置完环境变量等一系列的工作后环境就搭建好了,在新建好第一个Android项目 ...

  5. sql中关于存在就不做操作的代码块

    前言: 在开发中,经常会对数据库表进行新增修改操作,那么如果表中的属性信息已然存在啦!就没必要去做重复的操作了... 代码块 BEGIN SELECT "COUNT"(*) int ...

  6. java中的静态变量、静态方法与静态代码块详解与初始化顺序

      我们知道类的生命周期分为装载.连接.初始化.使用和卸载的五个过程.其中静态代码在类的初始化阶段被初始化. 而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化. 静态变量 可以将静 ...

  7. Java中的静态变量、静态方法、静态代码块

    转载自http://www.cnblogs.com/panjun-Donet/archive/2010/08/10/1796209.html (一)静态方法(1)在Java里,可以定义一个不需要创建对 ...

  8. java中的静态变量,静态方法与静态代码块详解

    java中的类的生命周期分为装载,连接,初始化,使用,和卸载五个过程. 而静态代码在类的初始化阶段被初始化. 而非静态代码则在类的使用阶段(也就是实例化一个类的时候)才会被初始化. 静态变量 可以将静 ...

  9. Throwable类中3个异常处理的方法和finally代码块

    /* Throwable类中定义了3个异常处理的方法 String getMessage() 返回此 throwable 的简短描述. String toString() 返回此 throwable ...

随机推荐

  1. C# 中的await

    今天看代码遇到了很多await,梳理一下await的用法. await只针对awaitable对象,经常和Task一起使用,主要用法如下: var task = RunAsync(); //开始执行异 ...

  2. logback的日志文件中出现大量的ESC符号

    如下图: 这个日志文件是用less命令打开的,然后看到就惊呆了,日志文件乱成这样的. 开始我以为是我把logback的配置文件弄错了,还看了半天pattern. 然后百度了一下,找了这篇博客: htt ...

  3. A-Frame不如x3dom

    昨天才发现还有A-Frame这么个框架,是Mozilla(moz://a 这个logo挺有创意的)出的,但看了一下其实现方式和语法后,感觉与x3d/x3dom还是有差距的. 二者的实现方式都是基于We ...

  4. sam9260 adc 测试

    /* * adc_test.c * * Copyright (C) 2007 Mengrz */ #include <stdio.h> #include <stdlib.h> ...

  5. git——添加远程库

    添加远程库 阅读: 406682 现在的情景是,你已经在本地创建了一个Git仓库后,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备份,又可以 ...

  6. TCP/IP协议栈

    TCP/IP协议栈包含TCP层.IP层.链路层.NIC驱动等. 参考: 1. 全面了解linux TCP/IP协议栈 2. 跟我学TCP/IP系列

  7. mac OS X:[11]如何添加打印机

    苹果菜单中,单击下拉列表中的『系统偏好设置』: 或在Dock上,单击『系统偏好设置』图标. 2 在『系统偏好设置』窗口中,单击『打印机与扫描仪』图标. 3 在『打印机与扫描仪』窗口中,单击打印机框架下 ...

  8. 两种常用的jquery事件加载的方法 的区别

    两种常用的jquery事件加载的方法   $(function(){});  window.onload=function(){}  第一个呢,是在DOM结构渲染完成以后调用的,这时候网页中一些资源还 ...

  9. 解决DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE(或META-INF/DEPENDENCIES)

    导入eclipse项目时报 Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.> ...

  10. R语言基本操作函数(1)变量的基本操作

    1.变量变换        as.array(x),as.data.frame(x),as.numeric(x),as.logical(x),as.complex(x),as.character(x) ...