惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

博客园 - Justin Shen

[.Net 4.0]泛型的协变,以及高阶函数对泛型的影响 Part 1 随笔 - WCF and Data Service - Justin Shen 面向对象语言中的Environment和Binding 元数据 有多少东西需要学习? [电子书下载]Dissecting a C# Application: Inside SharpDevelop [MSDNTV]Don Box再次出击 :) 追踪你的时间使用状况 听说《csdn开发高手》停刊了 在nant中改变编译的目标平台 让使用MSN就像访问网页一样容易! System.String是不可变的字符串吗? 对中国计算机大学教育的一些牢骚 VC2005中依然没有Refactoring和Code Expansion. [VS2005 Tip]定制Code Expansion。 [C++/CLI]在栈上声明Reference Type [C++/CLI] 析构函数等于IDisposable::Dispose()方法 用80386汇编来编写asp.net页面。 关于C#泛型中的new()约束
[VS2005]做了两个Code Expansion用的Code Snippet。
Justin Shen · 2004-11-03 · via 博客园 - Justin Shen

如果你不清楚VS 2005的定制Code Expansion的功能,可以看一下我的这篇文章

第一个是用来生成string,其实就是自动生成一对双引号,在中间输入好string之后,按回车可以跳到双引号之后。这个是受了eclipse的启发,不过觉得我的这个更好用,因为输入完字符串之后,不用去按方向键,嘿嘿

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippet Format="1.0.0">
    
<Header>
        
<Title>String</Title>
        
<Shortcut>s</Shortcut>
        
<Description>Expansion snippet for String</Description>
        
<SnippetTypes>
            
<SnippetType>Expansion</SnippetType>
        
</SnippetTypes>
    
</Header>
    
    
<Snippet>
        
<Declarations>
            
<Literal>
                
<ID>body</ID>
                
<ToolTip>string body</ToolTip>
            
</Literal>
        
</Declarations>
        
<Code Language="csharp" Format="CData"><![CDATA["$body$"$end$]]>
        
</Code>
    
</Snippet>
</CodeSnippet>

第二个是用来生成一个函数的框架,写这个的原因主要是eclipse里面,打一个大括号会自动生成另一个,实在是很好的功能,这样就不会去按方向键了。

<?xml version="1.0" encoding="utf-8" ?>
<CodeSnippet Format="1.0.0">
    
<Header>
        
<Title>Function</Title>
        
<Shortcut>f</Shortcut>
        
<Description>Expansion snippet for Function</Description>
        
<SnippetTypes>
            
<SnippetType>Expansion</SnippetType>
        
</SnippetTypes>
    
</Header>
    
    
<Snippet>
        
<Declarations>
            
<Literal default="true">
                
<ID>modifier</ID>
                
<ToolTip>modifier of a function</ToolTip>
                
<Default>void</Default>
            
</Literal>
            
<Literal default="true">
                
<ID>name</ID>
                
<ToolTip>function name</ToolTip>
                
<Default>foo</Default>
            
</Literal>
            
<Literal default="true">
                
<ID>arg</ID>
                
<ToolTip>argument list</ToolTip>
                
<Default>int i</Default>
            
</Literal>
        
</Declarations>
        
<Code Language="csharp" Format="CData"><![CDATA[$modifier$ $name$($arg$)
        {
            $end$
        }
        
]]>
        
</Code>
    
</Snippet>
</CodeSnippet>

这个东东有一个BUG,本来想让那个argument list默认显示空白的,但是不知道为什么默认空白,那个输入区域就没了,只好搞了一个int i,下次再写一个无参的方法框架。

有了这两个,再加上系统原有的那些Code Expansion,按方向键的需求已经降到了最低,我觉得我有越来越懒的趋势。