IDEA快捷使用
- 设置代码提示忽略大小写
setting->Editor->General->Code Completion
取消勾选Match case
然后直接用 Command + E
来找到最近访问的文件:
或者直接用 Command + Shift + E
来访问最近编辑的文件:
粘贴版历史
如果使用过 Mac 里面的 Alfred 的话,可能大家早就习惯了 Alfred 的粘贴板历史的能力,真是复制粘贴的神器啊。其实 Intellij IDEA 里面也提供了这样的能力,我们可以直接通过 Command + Shift + V
来进行访问历史粘贴板:
shift+shift
workspace查找
调试 (Quick Evaluate Expreassion) **
alt+左键快速得到所点击的表达式或者变量的值
大小写切换
ctrl+shift+U
当前页替换文字
alt+j
多个联想字符一起变化
参数重构到本方法
ctrl+alt+v
参数重构到成员属性
ctrl+alt+f
代码重构成方法 *
ctrl+alt+m
类里找方法
ctrl+F12
后缀自动补全功能
另外,Intellij IDEA 13中加入了后缀自动补全功能(Postfix Completion),比模板生成更加灵活和强大。例如要输入for(User user : users)只需输入user**.for+Tab**。再比如,要输入Date birthday = user.getBirthday();只需输入user.getBirthday().var+Tab即可。
Ø Top #10切来切去:Ctrl+Tab
Ø Top #9选你所想:Ctrl+W
Ø Top #8代码生成:Template/Postfix +Tab
Ø Top #7发号施令:Ctrl+Shift+A
Ø Top #6无处藏身:Shift+Shift
Ø Top #5自动完成:Ctrl+Shift+Enter
Ø Top #4创造万物:Alt+Insert
太难割舍,前三名并列吧!
Ø Top #1智能补全:Ctrl+Shift+Space
Ø Top #1自我修复:Alt+Enter
Ø Top #1重构一切:Ctrl+Shift+Alt+T
IDEA进阶liveTemplate
表达式 | 效果 |
---|---|
EXPR | 上一个变量 |
variableOfType | 变量的类型 |
variableOfType(variableOfType(varType)) | 集合迭代的变量 |
iterableComponentType(ArrayOrIterable) | 集合迭代的类型 |
功能 | 描述 |
---|---|
annotated("annotation qname") |
使用驻留在指定位置的注释创建类型的符号。有关示例,请参阅迭代组中的实时模板。 |
anonymousSuper() |
建议Kotlin对象表达式的超类型。 |
arrayVariable() |
建议适用于当前范围的所有数组变量。有关示例,请参阅迭代组中的实时模板。 |
blockCommentEnd |
返回指示当前语言上下文中块注释结束的字符。 |
blockCommentStart |
返回指示当前语言上下文中块注释开始的字符。 |
camelCase(String) |
将字符串转换为camelCase。例如camelCase(my-text-file) ,camelCase(my text file) 和camelCase(my_text_file) 所有的回报myTextFile 。 |
capitalize(String) |
大写参数的第一个字母。 |
capitalizeAndUnderscore(sCamelCaseName) |
将作为参数传递的CamelCase名称的所有字母大写,并在各部分之间插入下划线。例如,capitalizeAndUnderscore(FooBar) 退货 FOO_BAR 。 |
castToLeftSideType() |
将右侧表达式转换为左侧表达式类型。它在迭代组中用于生成单个模板,用于生成原始类型和泛型集合。 |
className() |
返回当前类的名称(扩展模板的类)。 |
classNameComplete() |
此表达式替换变量位置处的类名称完成。 |
clipboard() |
返回系统剪贴板的内容。 |
commentEnd() |
返回指示当前语言上下文中注释结尾的字符。如果以当前语言定义行注释,则返回值为空。 |
commentStart() |
返回指示当前语言上下文中注释开头的字符。如果使用当前语言定义行注释,则最好使用它们的开始指示符。 |
complete() |
在变量的位置调用代码完成。 |
completeSmart() |
在变量的位置调用智能类型完成。 |
componentTypeOf(<array>) |
返回数组的组件类型。例如,请参阅迭代组和另一组中的实时模板。 |
concat(expressions...) |
返回作为参数传递给函数的所有字符串的串联。 |
currentPackage() |
返回当前包名称。 |
date(sDate) |
以指定格式返回当前系统日期。如果没有参数,则以默认系统格式返回当前日期。 |
decapitalize(sName) |
用相应的小写字母替换参数的第一个字母。 |
descendantClassEnum(<String>) |
返回指定为字符串参数的类的子级。 |
enum(sCompletionString1,sCompletionString2,...) |
返回扩展模板时建议完成的以逗号分隔的字符串列表。 |
escapeString(sEscapeString) |
转义指定为参数的字符串。 |
expectedType() |
返回模板扩展到的表达式的预期类型。如果模板在作业的正确部分,之后return 等扩展,则会有意义。 |
fileName() |
返回当前文件的名称及其扩展名。 |
fileNameWithoutExtension() |
返回没有扩展名的当前文件的名称。 |
firstWord(sFirstWord) |
返回作为参数传递的字符串的第一个单词。 |
groovyScript("groovy code", arg1) |
返回具有指定代码的Groovy脚本。您可以使用groovyScript() 具有多个参数的函数。第一个参数是执行的脚本的文本或包含脚本的文件的路径。接下来的参数被绑定到_1 ,_2 ,_3 ,… _n 变量中提供的脚本中。此外,该_editor 变量在脚本中可用。此变量绑定到当前编辑器。 |
guessElementType (<container>) |
猜测存储在a中的元素的类型java.util.Collection 。为了猜测,IntelliJ IDEA尝试查找元素添加到容器或从容器中提取的位置。 |
iterableComponentType(<ArrayOrIterable>) |
返回可迭代组件的类型,例如数组或集合。 |
iterableVariable() |
返回可以迭代的变量的名称。 |
JsArrayVariable() |
返回当前JavaScript数组的名称。 |
jsClassName() |
返回当前JavaScript类的名称。 |
jsComponentTypeOf() |
返回当前JavaScript组件的类型。 |
jsDefineParameter |
根据模块的名称,返回参数 define(["module"], function (<parameter_in_question>>) {}) 。 |
jsMethodName() |
返回当前JavaScript方法的名称。 |
jsQualifiedClassName() |
返回当前JavaScript类的完整名称。 |
jsSuggestIndexName() |
返回一个建议的名称从最常用的一个指标变量: i ,j ,k ,等,它们不是在当前范围内尚未使用的名称是第一个显示。 |
jsSuggestVariableName() |
根据引用变量命名规则的代码样式设置,根据变量类型和初始化表达式返回变量的建议名称。 例如,如果它是一个在迭代中保存元素的变量,IntelliJ IDEA会猜测最合理的名称,同时考虑迭代的容器的名称。 |
jsSuggestDefaultVariableKind(Boolean) |
Boolean参数确定当前上下文中是否允许常量。如果未指定参数,则允许使用常量。当模板扩展,下拉列表显示有var ,let ,const 为打字稿和ES6和只有一个选项var 为早期版本的JavaScript选项。 |
jsSuggestImportedEntityName() |
建议该类型的import语句的名称 import * as $ITEM$ from "$MODULE$" 或import $ITEM$ from "$MODULE$" 基于文件名。 |
lineCommentStart |
返回指示当前语言上下文中行注释开头的字符。 |
lineNumber() |
返回当前行号。 |
lowercaseAndDash(String) |
将camelCase字符串转换为小写,并将n-dashes作为分隔符插入。例如,lowercaseAndDash(MyExampleName) 退货my-example-name 。 |
methodName() |
返回展开模板的方法的名称。 |
methodParameters() |
返回展开模板的方法的参数列表。 |
methodReturnType() |
返回当前方法返回的值的类型(模板在其中展开)。 |
qualifiedClassName() |
返回当前类的完全限定名称(扩展模板的名称)。 |
rightSideType() |
使用右侧表达式的类型声明左侧变量。它在迭代组中用于生成单个模板,用于生成原始类型和泛型集合。 |
snakeCase(String) |
将字符串转换为snake_case。例如,snakeCase(fooBar) 退货foo_bar 。 |
spaceSeparated(String) |
将字符串转换为小写并将空格作为分隔符插入。例如,spaceSeparated(fooBar) 退货foo bar 。 |
substringBefore(String,Delimiter) |
在指定的分隔符后删除扩展名并仅返回文件名。这是测试的文件名有帮助(例如,substringBefore($FileName$,".") 返回component-test 的component-test.js )。 |
subtypes(sType) |
返回作为参数传递的类型的子类型。 |
suggestFirstVariableName(sFirstVariableName) |
不建议true, false, this, super 。 |
suggestIndexName() |
表明从最常用的索引变量的名称: i ,j ,k ,等等(未在当前的范围中使用第一个)。 |
suggestVariableName() |
根据引用变量命名规则的代码样式设置,根据变量类型及其初始化表达式建议变量的名称。 例如,如果它是一个在迭代中保存元素的变量,IntelliJ IDEA会考虑最合理的名称,并考虑要迭代的容器的名称。 |
time(sSystemTime) |
以指定格式返回当前系统时间。 |
typeOfVariable(VAR) |
返回作为参数传递的变量的类型。 |
underscoresToCamelCase(String) |
用作为参数传递的字符串中的camelCase字母替换下划线。例如,underscoresToCamelCase(foo_bar) 退货fooBar 。 |
underscoresToSpaces(sParameterWithSpaces) |
用作为参数传递的字符串中的空格替换下划线。例如,underscoresToSpaces(foo_bar) 退货foo bar 。 |
user() |
返回当前用户的名称。 |
variableOfType(<type>) |
建议可以分配给作为参数传递的类型的所有变量,例如variableOfType("java.util.Vector") 。如果传递一个空字符串("" )作为参数,则该函数会建议所有变量,而不管其类型如何。 |