IntelliJ IDEA 常用快捷键Mac篇

在 IntelliJ IDEA 中有两个 Mac 版本的快捷键,分别为 Mac OS X 和 Mac OS X 10.5+, 其中 Mac OS X 10.5+ 为 IntelliJ IDEA 默认的快捷键版本。此外,建议将 Mac 系统中与 IntelliJ IDEA 冲突的快捷键取消或更改,不建议改 IntelliJ IDEA 的默认快捷键。

Mac 键盘符号和修饰键说明

  •  ——> Command
  •  ——> Shift
  •  ——> Option
  •  ——> Control
  • ↩︎ ——> Return/Enter
  •  ——> Delete
  •  ——> 向前删除键(Fn + Delete)
  •  ——> 上箭头
  •  ——> 下箭头
  •  ——> 左箭头
  •  ——> 右箭头
  •  ——> Page Up(Fn + ↑)
  •  ——> Page Down(Fn + ↓)
  •  ——> 右制表符(Tab键)
  •  ——> 左制表符(Shift + Tab)
  •  ——> Escape(Esc)
  • End ——> Fn + →
  • Home ——> Fn + ←

Part 1:Editing(编辑)

快捷键 作用
Control + Space 基本的代码补全(补全任何类、方法、变量)
Control + Shift + Space 智能代码补全(过滤器方法列表和变量的预期类型)
Command + Shift + Enter 自动结束代码,行末自动添加分号
Command + P 显示方法的参数信息
Control + J 快速查看文档
Shift + F1 查看外部文档(在某些代码上会触发打开浏览器显示相关文档)
Command + 鼠标放在代码上 显示代码简要信息
Command + F1 在错误或警告处显示具体描述信息
Command + NControl + EnterControl + N 生成代码(gettersetterhashCodeequalstoString、构造函数等)
Control + O 覆盖方法(重写父类方法)
Control + I 实现方法(实现接口中的方法)
Command + Option + T 包围代码(使用if...elsetry...catchforsynchronized等包围选中的代码)
Command + / 注释 / 取消注释与行注释
Command + Option + / 注释 / 取消注释与块注释
Option + 方向键上 连续选中代码块
Option + 方向键下 减少当前选中的代码块
Control + Shift + Q 显示上下文信息
Option + Enter 显示意向动作和快速修复代码
Command + Option + L 格式化代码
Control + Option + O 优化 import
Control + Option + I 自动缩进线
Tab / Shift + Tab 缩进代码 / 反缩进代码
Command + X 剪切当前行或选定的块到剪贴板
Command + C 复制当前行或选定的块到剪贴板
Command + V 从剪贴板粘贴
Command + Shift + V 从最近的缓冲区粘贴
Command + D 复制当前行或选定的块
Command + Delete 删除当前行或选定的块的行
Control + Shift + J 智能的将代码拼接成一行
Command + Enter 智能的拆分拼接的行
Shift + Enter 开始新的一行
Command + Shift + U 大小写切换
Command + Shift + ] / Command + Shift + [ 选择直到代码块结束 / 开始
Option + Fn + Delete 删除到单词的末尾
Option + Delete 删除到单词的开头
Command + 加号 / Command + 减号 展开 / 折叠代码块
Command + Shift + 加号 展开所以代码块
Command + Shift + 减号 折叠所有代码块
Command + W 关闭活动的编辑器选项卡

Part 2:Search / Replace(查询/替换)

快捷键 作用
Double Shift 查询任何东西
Command + F 文件内查找
Command + G 查找模式下,向下查找
Command + Shift + G 查找模式下,向上查找
Command + R 文件内替换
Command + Shift + F 全局查找(根据路径)
Command + Shift + R 全局替换(根据路径)
Command + Shift + S 查询结构(Ultimate Edition 版专用,需要在 Keymap 中设置)
Command + Shift + M 替换结构(Ultimate Edition 版专用,需要在 Keymap 中设置)

Part 3:Usage Search(使用查询)

快捷键 作用
Option + F7 / Command + F7 在文件中查找用法 / 在类中查找用法
Command + Shift + F7 在文件中突出显示的用法
Command + Option + F7 显示用法

Part 4:Compile and Run(编译和运行)

快捷键 作用
Command + F9 编译 Project
Command + Shift + F9 编译选择的文件、包或模块
Control + Option + R 弹出 Run 的可选择菜单
Control + Option + D 弹出 Debug 的可选择菜单
Control + R 运行
Control + D 调试
Control + Shift + RControl + Shift + D 从编辑器运行上下文环境配置

Part 5:Debugging(调试)

快捷键 作用
F8 进入下一步,如果当前行断点是一个方法,则不进入当前方法体内
F7 进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中
Shift + F7 智能步入,断点所在行上有多个方法调用,会弹出进入哪个方法
Shift + F8 跳出
Option + F9 运行到光标处,如果光标前有其他断点会进入到该断点
Option + F8 计算表达式(可以更改变量值使其生效)
Command + Option + R 恢复程序运行,如果该断点下面代码还有断点则停在下一个断点上
Command + F8 切换断点(若光标当前行有断点则取消断点,没有则加上断点)
Command + Shift + F8 查看断点信息

Part 6:Navigation(导航)

快捷键 作用
Command + O 查找类文件
Command + Shift + O 查找所有类型文件、打开文件、打开目录,打开目录需要在输入的内容前面或后面加一个反斜杠/
Command + Option + O 前往指定的变量 / 方法
Control + 方向键左 / Control + 方向键右 左右切换打开的编辑 tab 页
F12 返回到前一个工具窗口
Esc 从工具窗口进入代码文件窗口
Shift + Esc 隐藏当前或最后一个活动的窗口,且光标进入代码文件窗口
Command + Shift + F4 关闭活动 run/messages/find/... tab
Command + L 在当前文件跳转到某一行的指定处
Command + E 显示最近打开的文件记录列表
Option + 方向键左 / Option + 方向键右 光标跳转到当前单词 / 中文句的左 / 右侧开头位置
Command + Option + 方向键左 / Command + Option + 方向键右 退回 / 前进到上一个操作的地方
Command + Shift + Delete 跳转到最后一个编辑的地方
Option + F1 显示当前文件选择目标弹出层,弹出层中有很多目标可以进行选择(如在代码编辑窗口可以选择显示该文件的 Finder)
Command + B / Command + 鼠标点击 进入光标所在的方法/变量的接口或是定义处
Command + Option + B 跳转到实现处,在某个调用的方法名上使用会跳到具体的实现处,可以跳过接口
Option + SpaceCommand + Y 快速打开光标所在方法、类的定义
Control + Shift + B 跳转到类型声明处
Command + U 前往当前光标所在方法的父类的方法 / 接口定义
Control + 方向键下 / Control + 方向键上 当前光标跳转到当前文件的前一个 / 后一个方法名位置
Command + ] / Command + [ 移动光标到当前所在代码的花括号开始 / 结束位置
Command + F12 弹出当前文件结构层,可以在弹出的层上直接输入进行筛选(可用于搜索类中的方法)
Control + H 显示当前类的层次结构
Command + Shift + H 显示方法层次结构
Control + Option + H 显示调用层次结构
F2 / Shift + F2 跳转到下一个 / 上一个突出错误或警告的位置
F4 / Command + 方向键下 编辑 / 查看代码源
Option + Home 显示到当前文件的导航条
F3 选中文件 / 文件夹 / 代码行,添加 / 取消书签
Option + F3 选中文件 / 文件夹/代码行,使用助记符添加 / 取消书签
Control + 0Control + 9 定位到对应数值的书签位置
Command + F3 显示所有书签

Part 7:Refactoring(重构)

快捷键 作用
F5 复制文件到指定目录
F6 移动文件到指定目录
Command + Delete 在文件上为安全删除文件,弹出确认框
Shift + F6 重命名文件
Command + F6 更改签名
Command + Option + N 一致性
Command + Option + M 将选中的代码提取为方法
Command + Option + V 提取变量
Command + Option + F 提取字段
Command + Option + C 提取常量
Command + Option + P 提取参数

Part 8:VCS / Local History(版本控制 / 本地历史记录)

快捷键 作用
Command + K 提交代码到版本控制器
Command + T 从版本控制器更新代码
Option + Shift + C 查看最近的变更记录
Control + C 快速弹出版本控制器操作面板

Part 9:Live Templates(动态代码模板)

快捷键 作用
Command + Option + J 弹出模板选择窗口,将选定的代码使用动态模板包住
Command + J 插入自定义动态代码模板

Part 10:General(通用)

快捷键 作用
Command + 1Command + 9 打开相应编号的工具窗口
Command + S 保存所有
Command + Option + Y 同步、刷新
Control + Command + F 切换全屏模式
Command + Shift + F12 切换最大化编辑器
Option + Shift + F 添加到收藏夹
Option + Shift + I 检查当前文件与当前的配置文件
Control + ` 快速切换当前的 scheme(切换主题、代码样式等)
Command + , 打开 IDEA 系统设置
Command + ; 打开项目结构对话框
Shift + Command + A 查找动作(可设置相关选项)
Control + Shift + Tab 编辑窗口标签和工具窗口之间切换(如果在切换的过程加按上 delete,则是关闭对应选中的窗口)

 

IntelliJ IDEA使用Debug

1548297694-5221-dbca267fe4636419318921248130

如上图所示:从“Server”开始,往后图标依次为:

  • Show Execution Point :显示执行端点(Alt + F10)
  • Step Over :跳到下一步 (F8)
  • Step Into :进入代码或者说进入到方法内部(F7)
  • Force Step Into :强制进入代码或者说进入到方法内部(Alt + Shift + F7)
  • Step Out :跳到下一个断点或者跳出方法(Shift + F8)
  • Drop Frame :放弃当前debug,重新执行debug
  • Run to Cursor :运行到光标处(Alt + F9)

说完第一排图标,咱们再说说第一列图标,上从上向下依次为:

  • Rerun ‘tomcat’ :重启tomcat服务器,还需要在点击“小骷髅”图标(Command + R)
  • Update ‘tomcat’ Application :更新tomcat应用程序(Command + F10)
  • Resume Program :从debug模式中恢复程序,执行到底(Alt + Command + R)

温馨提示Command键为 Mac 中的键盘按钮。

IntelliJ IDEA 中添加jar包

应用 IntelliJ IDEA 编程,知道如何添加 jar 是最基本的技能。在这里,作者将带着大家一起过一遍添加 jar 包的流程:

首先,通过菜单栏中的“File”进入到“Project Structure”,

1548297569-8401-b578b7db6d636416010819635541

然后,选择左侧的“Modules”,

1548297569-5423-614832421a636416010833446331

再选择右侧对应的“Dependencies”,

1548297570-4830-8613492e71636416010861907959

接下来,点击最右侧“绿色的加号”,选择“1 JARs or directories”,然后就是咱们说了算啦,任意添加咱们想要的 jar 包即可(前提是咱得事先下载对应的 jar 包),

1548297569-1263-6ab6b6782b636416010875038710

最后,别忘了点击“Apply”或者“OK”,好让咱们的修改生效。

IntelliJ IDEA常用快捷键

IntelliJ IDEA在业界被公认为最好的Java开发平台之一,今天小编在这里开始给大家带来IntelliJ IDEA使用技巧连载文章,希望对大家的开发起到帮助哦~

第一篇是关于IntelliJ IDEA常用的一些快捷键,如果熟练使用,开发将会变得事半功倍哦~一起来看看吧!

快捷键 功能
Ctrl + X 删除行
Ctrl + D 复制行
Ctrl + N 查找类
Ctrl + F 查找文本
Ctrl + J 自动代码
Ctrl + H 显示类结构图
Ctrl + Q 显示注释文档
Ctrl + P 方法参数提示
Ctrl + E 最近打开的文件
Ctrl + R 替换当前文本中的代码
Ctrl + End 跳到文件结尾
Ctrl + Home 跳到文件开头
Ctrl + Space 代码提示
Ctrl + Shift + N 查找文件
Ctrl + Shift + R 替换项目中的代码
Ctrl + Alt + L 格式化代码
Ctrl + Alt + O 优化导入的类和包
Ctrl + Shift + Space 自动补全代码
Alt + Shift + C 对比最近修改的代码
Alt + Insert 生成代码(如构造函数等)
Ctrl + Alt + Space 类名或接口名提示
Alt + Enter 自动导包
Alt + left / right 切换代码视图
Ctrl + B 快速打开光标处的类或方法
Alt + Up / Down 在方法间快速移动定位
F2 或 Shift + F2 高亮错误或警告快速定位
Ctrl + Shift + Up / Down 代码向上 / 下移动
Ctrl+E 或者 Alt+Shift+C 最近更改的代码
Ctrl + Shift + Alt + N 查找类中的方法或变量
Ctrl + Alt + left / right 返回至上次浏览的位置
Ctrl + / 或 Ctrl + Shift + / 单行注释或多行注释
fori + Tab 键 快速创建 for 循环
psvm + Tab 键 快速创建主函数
sout + Tab 键 快速创建输出语句

Debug 快捷键:

  • F7 :在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内, 如果该方法体还有方法,则不会进入该内嵌的方法中;
  • F8 :在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内;
  • F9 :在 Debug 模式下,恢复程序运行,但是如果该断点下面代码还有断点则停在下一个断点上。

注:本快捷键仅适用于windows版。

Nginx 配置文件 nginx.conf 详解

#定义Nginx运行的用户和用户组

user www www;

 

#nginx进程数,建议设置为等于CPU总核心数。

worker_processes 8;

 

#全局错误日志定义类型,[ debug | info | notice | warn | error | crit ]

error_log /var/log/nginx/error.log info;

 

#进程文件

pid /var/run/nginx.pid;

 

#一个nginx进程打开的最多文件描述符数目,理论值应该是最多打开文件数(系统的值ulimit -n)与nginx进程数相除,但是nginx分配请求并不均匀,所以建议与ulimit -n的值保持一致。

worker_rlimit_nofile 65535;

 

#工作模式与连接数上限

events

{

#参考事件模型,use [ kqueue | rtsig | epoll | /dev/poll | select | poll ]; epoll模型是Linux 2.6以上版本内核中的高性能网络I/O模型,如果跑在FreeBSD上面,就用kqueue模型。

use epoll;

#单个进程最大连接数(最大连接数=连接数*进程数)

worker_connections 65535;

}

 

#设定http服务器

http

{

include mime.types; #文件扩展名与文件类型映射表

default_type application/octetstream; #默认文件类型

#charset utf-8; #默认编码

server_names_hash_bucket_size 128; #服务器名字的hash表大小

client_header_buffer_size 32k; #上传文件大小限制

large_client_header_buffers 4 64k; #设定请求缓

client_max_body_size 8m; #设定请求缓

sendfile on; #开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络I/O处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。

autoindex on; #开启目录列表访问,合适下载服务器,默认关闭。

tcp_nopush on; #防止网络阻塞

tcp_nodelay on; #防止网络阻塞

keepalive_timeout 120; #长连接超时时间,单位是秒

 

#FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。下面参数看字面意思都能理解。

fastcgi_connect_timeout 300;

fastcgi_send_timeout 300;

fastcgi_read_timeout 300;

fastcgi_buffer_size 64k;

fastcgi_buffers 4 64k;

fastcgi_busy_buffers_size 128k;

fastcgi_temp_file_write_size 128k;

 

#gzip模块设置

gzip on; #开启gzip压缩输出

gzip_min_length 1k; #最小压缩文件大小

gzip_buffers 4 16k; #压缩缓冲区

gzip_http_version 1.0; #压缩版本(默认1.1,前端如果是squid2.5请使用1.0)

gzip_comp_level 2; #压缩等级

gzip_types text/plain application/xjavascript text/css application/xml;

#压缩类型,默认就已经包含text/html,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。

gzip_vary on;

#limit_zone crawler $binary_remote_addr 10m; #开启限制IP连接数的时候需要使用

 

upstream blog.ha97.com {

#upstream的负载均衡,weight是权重,可以根据机器配置定义权重。weigth参数表示权值,权值越高被分配到的几率越大。

server 192.168.80.121:80 weight=3;

server 192.168.80.122:80 weight=2;

server 192.168.80.123:80 weight=3;

}

 

#虚拟主机的配置

server

{

    #监听端口

    listen 80;

    #域名可以有多个,用空格隔开

    server_name www.ha97.com ha97.com;

    index index.html index.htm index.php;

    root /data/www/ha97;

    location ~ .*\.(php|php5)?$

    {

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    include fastcgi.conf;

    }

    #图片缓存时间设置

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

    {

    expires 10d;

    }

    #JS和CSS缓存时间设置

    location ~ .*\.(js|css)?$

    {

    expires 1h;

    }

    #日志格式设定

    log_format access ‘$remote_addr – $remote_user [$time_local] “$request” ‘

    ‘$status $body_bytes_sent “$http_referer” ‘

    ‘”$http_user_agent” $http_x_forwarded_for’;

    #定义本虚拟主机的访问日志

    access_log /var/log/nginx/ha97access.log access;

 

    #对 “/” 启用反向代理

    location / {

    proxy_pass http://127.0.0.1:88;

    proxy_redirect off;

    proxy_set_header XRealIP $remote_addr;

    #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP

    proxy_set_header XForwardedFor $proxy_add_x_forwarded_for;

    #以下是一些反向代理的配置,可选。

    proxy_set_header Host $host;

    client_max_body_size 10m; #允许客户端请求的最大单文件字节数

    client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数,

    proxy_connect_timeout 90; #nginx跟后端服务器连接超时时间(代理连接超时)

    proxy_send_timeout 90; #后端服务器数据回传时间(代理发送超时)

    proxy_read_timeout 90; #连接成功后,后端服务器响应时间(代理接收超时)

    proxy_buffer_size 4k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小

    proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的设置

    proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)

    proxy_temp_file_write_size 64k;

    #设定缓存文件夹大小,大于这个值,将从upstream服务器传

    }

 

    #设定查看Nginx状态的地址

    location /NginxStatus {

    stub_status on;

    access_log on;

    auth_basic “NginxStatus”;

    auth_basic_user_file conf/htpasswd;

    #htpasswd文件的内容可以用apache提供的htpasswd工具来产生。

    }

 

    #本地动静分离反向代理配置

    #所有jsp的页面均交由tomcat或resin处理

    location ~ .(jsp|jspx|do)?$ {

    proxy_set_header Host $host;

    proxy_set_header XRealIP $remote_addr;

    proxy_set_header XForwardedFor $proxy_add_x_forwarded_for;

    proxy_pass http://127.0.0.1:8080;

    }

    #所有静态文件由nginx直接读取不经过tomcat或resin

    location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$

    { expires 15d; }

    location ~ .*.(js|css)?$

    { expires 1h; }

}

}