pycharm 常用快捷键
ctrl+shift+A:万能命令行
shift两次:查看资源文件
新建工程第一步操作
module设置把空包分层去掉,compact empty middle package
设置当前的工程是utf-8,设置的Editor-->File Encodings-->全部改成utf-8,
ctrl+/:单行注释
ctrl+alt+enter:向上插入
shift+enter:向下插入
end:光标操作代码
ctrl+d:复制粘贴一行
ctrl+y:删除一行
shift+F6:重命令
ctrl+O:复写代码
ctrl+alt+L:格式代码在代码中使用
alt+insert:Generate,可以get/set等操作
ctrl+alt+T:添加try/catch
ctrl+alt+M:抽取代码
ctrl+alt+F:变量抽取全局变量
还需要设置前缀:Editor-->code style-->java-->code Genertion-->设置Field的前缘为m添加
ctrl+alt+v:方法体内值抽取成变量
保存成模板:ctrl+shift+L,这个是自定义的(save as live Template)
选中内容:tab进行退格
shift+tab:反向退格
alt+shift+上下键:选中代码移动
ctrl+shift+上下键:可以移动当前方法体,如果移动一行代码只能在代码体内移动
ctrl+shift+U:代码大小写
ctrl+shift+enter:补全代码(一行尾添加分号,如果是if等添加括号)
ctrl+鼠标:进入代码
ctrl+B:进入代码
ctrl+shift+12:最大化窗口
ctrl+r:替换
ctrl+F:查找
ctrl+shift+F:全局查找
ctrl+shift+R:全局替换
ctrl+shift+i:快捷查看方法实现的内容
ctrl+p:查看参数
ctrl+Q:查看文档描述
shift+F1:查看api文档
ctrl+F12:查看类的方法
ctrl+H:查看类的继承关系
查看变量的赋值情况:
shift+ctrl+a:输入analyze data flow to Here
ctrl+alt+H:查看方法在那里被调用了
ctrl+{}:可以定位方法体的括号
F3:查看选中的内容
shift+F3:反向查看内容
ctrl+alt+B:查询那些类实现了光标所在的接口
ctrl+U:查看父类
ctrl+E:最近编辑的文件列表
ctrl+alt+home:查看布局与对应的类
ctrl+alt+H:查看当前方法在那里进行调用
ctrl+F9:构建
shift+F10:运行
新建文件及工程:选中要创建目录使用alt+insert
ctrl+shift+a:输入show in explorer-->打开相应目录
ctrl+alt+s:打开软件设置
ctrl+alt+shift+s:打开module设置
alt+1:当前目录区
alt+7:当前类的方法列表查看
ctrl+tab:切换目录及视图
alt+shift+c:查看工程最近更改的地方
ctrl+J:livetemp模板查看
没有操作完成操作可以先写todo进行,就可以在todo的窗口进行查看
F11定义书签
shift+F11:查看书签
ctrl+J:快捷调出模板
alt+点击断点:禁用断点
调试状态下按下:alt查看变量能审查表达式的值
F2:定位错误
alt+enter:修正错误
alt+鼠标:进入列编辑模式
ctrl+w:选中单词或其他组合操作
ctrl+alt+左右键:这个是定位到编辑的位置
撤销与反撤销:Ctrl + z,Ctrl + Shift + z
缩进、不缩进:Tab、Shift + tab
运行:Shift + F10
批量注释:Ctrl + /
快速查看文档:Ctrl + q
当光标在代码中间,如何回车到下一行:Shift + 回车
当鼠标在代码下一行非开头位置,如何跳转到上一行末尾:Ctrl + backspace(退格键)
当一行代码太长时,我们如何切换到下一行,但是格式不变:Ctrl + 回车
进入列编辑模式:alt+鼠标
全局搜索:ctrl+shift+f
搜索:ctrl+f
选中单词:ctrl+w (多按几下是句子,url光标移动到双引号后边 两下全选url)
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby
在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我已经在Sinatra上创建了应用程序,它代表了一个简单的API。我想在生产和开发上进行部署。我想在部署时选择,是开发还是生产,一些方法的逻辑应该改变,这取决于部署类型。是否有任何想法,如何完成以及解决此问题的一些示例。例子:我有代码get'/api/test'doreturn"Itisdev"end但是在部署到生产环境之后我想在运行/api/test之后看到ItisPROD如何实现? 最佳答案 根据SinatraDocumentation:EnvironmentscanbesetthroughtheRACK_ENVenvironm
我的主要目标是能够完全理解我正在使用的库/gem。我尝试在Github上从头到尾阅读源代码,但这真的很难。我认为更有趣、更温和的踏脚石就是在使用时阅读每个库/gem方法的源代码。例如,我想知道RubyonRails中的redirect_to方法是如何工作的:如何查找redirect_to方法的源代码?我知道在pry中我可以执行类似show-methodmethod的操作,但我如何才能对Rails框架中的方法执行此操作?您对我如何更好地理解Gem及其API有什么建议吗?仅仅阅读源代码似乎真的很难,尤其是对于框架。谢谢! 最佳答案 Ru
我们的git存储库中目前有一个Gemfile。但是,有一个gem我只在我的环境中本地使用(我的团队不使用它)。为了使用它,我必须将它添加到我们的Gemfile中,但每次我checkout到我们的master/dev主分支时,由于与跟踪的gemfile冲突,我必须删除它。我想要的是类似Gemfile.local的东西,它将继承从Gemfile导入的gems,但也允许在那里导入新的gems以供使用只有我的机器。此文件将在.gitignore中被忽略。这可能吗? 最佳答案 设置BUNDLE_GEMFILE环境变量:BUNDLE_GEMFI
我的假设是moduleAmoduleBendend和moduleA::Bend是一样的。我能够从thisblog找到解决方案,thisSOthread和andthisSOthread.为什么以及什么时候应该更喜欢紧凑语法A::B而不是另一个,因为它显然有一个缺点?我有一种直觉,它可能与性能有关,因为在更多命名空间中查找常量需要更多计算。但是我无法通过对普通类进行基准测试来验证这一点。 最佳答案 这两种写作方法经常被混淆。首先要说的是,据我所知,没有可衡量的性能差异。(在下面的书面示例中不断查找)最明显的区别,可能也是最著名的,是你的
几个月前,我读了一篇关于rubygem的博客文章,它可以通过阅读代码本身来确定编程语言。对于我的生活,我不记得博客或gem的名称。谷歌搜索“ruby编程语言猜测”及其变体也无济于事。有人碰巧知道相关gem的名称吗? 最佳答案 是这个吗:http://github.com/chrislo/sourceclassifier/tree/master 关于ruby-寻找通过阅读代码确定编程语言的rubygem?,我们在StackOverflow上找到一个类似的问题:
这似乎非常适得其反,因为太多的gem会在window上破裂。我一直在处理很多mysql和ruby-mysqlgem问题(gem本身发生段错误,一个名为UnixSocket的类显然在Windows机器上不能正常工作,等等)。我只是在浪费时间吗?我应该转向不同的脚本语言吗? 最佳答案 我在Windows上使用Ruby的经验很少,但是当我开始使用Ruby时,我是在Windows上,我的总体印象是它不是Windows原生系统。因此,在主要使用Windows多年之后,开始使用Ruby促使我切换回原来的系统Unix,这次是Linux。Rub