我想得到一个Git存储库中所有分支的列表,顶部有"最新鲜"的分支,其中"最新鲜"的分支是最近提交的分支(因此,更可能是一个分支)我想要注意).
有没有办法可以使用Git(a)通过最新提交对分支列表进行排序,或者(b)以某种机器可读格式获取分支列表以及每个分支的最后提交日期?
最糟糕的情况是,我总是可以运行git branch
以获取所有分支的列表,解析其输出,然后git log -n 1 branchname --format=format:%ci
为每个分支获取每个分支的提交日期.但这将在Windows机器上运行,其中启动一个新进程相对昂贵,因此如果有很多分支,每个分支启动Git可执行文件可能会变慢.有没有办法用一个命令完成所有这些?
似乎当WPF应用程序启动时,没有任何焦点.
这真的很奇怪.我使用的每个其他框架都符合您的期望:将初始焦点放在Tab键顺序中的第一个控件上.但我已经确认它是WPF,而不仅仅是我的应用程序 - 如果我创建一个新窗口,只是在其中放置一个TextBox,并运行应用程序,TextBox没有焦点,直到我点击它或按Tab键.呸.
我的实际应用程序比TextBox更复杂.我在UserControls中有几层UserControl.其中一个UserControls有Focusable ="True"和KeyDown/KeyUp处理程序,我希望它在我的窗口打开后立即获得焦点.不过,我仍然是一个WPF新手,而且我没有太多运气搞清楚如何做到这一点.
如果我启动我的应用程序并按Tab键,则焦点转到我的可聚焦控件,它开始以我想要的方式工作.但我不希望我的用户在开始使用窗口之前必须点击Tab.
我已经使用了FocusManager.FocusedElement,但是我不确定将它设置为哪个控件(顶级窗口?包含可聚焦控件的父级?可聚焦控件本身?)或者设置它的内容.
在窗口打开后,我需要做什么才能使我的深层嵌套控件具有初始焦点?或者更好的是,将第一个可聚焦控件聚焦在Tab键顺序中?
在构造函数,赋值和方法调用方面,PyCharm IDE非常擅长分析我的源代码并确定每个变量应该是什么类型.我喜欢它,因为它给了我很好的代码完成和参数信息,如果我尝试访问不存在的属性,它会给我警告.
但是当谈到参数时,它什么都不知道.代码完成下拉列表无法显示任何内容,因为它们不知道参数的类型.代码分析无法查找警告.
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
peasant = Person("Dennis", 37)
# PyCharm knows that the "peasant" variable is of type Person
peasant.dig_filth() # shows warning -- Person doesn't have a dig_filth method
class King:
def repress(self, peasant):
# PyCharm has no idea what type the "peasant" parameter should be
peasant.knock_over() # no warning even though knock_over doesn't exist
King().repress(peasant)
# Even if I call the method once with a Person instance, …
Run Code Online (Sandbox Code Playgroud) 我想开始我的Python代码编写单元测试,以及py.test框架听起来比Python捆绑的一个更好的选择单元测试.所以我在我的项目中添加了一个"tests"目录,并添加了test_sample.py.现在我想配置PyCharm来运行我的"tests"目录中的所有测试.
据称PyCharm 在其测试运行中支持py.test.您应该能够创建运行/调试配置来运行测试,并且据称PyCharm具有专门用于py.test的"创建配置"对话框.但这是关于这个主题的文档的完整范围,我无法在任何地方找到这个所谓的对话框.
如果我右键单击项目工具窗口中的目录,我应该看到"创建<名称>"菜单项,但唯一以"创建"开头的菜单项是"创建运行配置".好吧,也许文档是错误的,"创建运行配置"确实听起来很有希望.不幸的是,其子菜单中只有两个项目是"C:\ mypath中的单元测试..."和"C:\ mypath中的Doctests ......",两者都不适用 - 我既不使用unittest也不使用doctest.py.test没有菜单项.
如果我打开我的test_sample.py并在编辑器窗口中右键单击,我会得到承诺的"创建<名称>"菜单项:在test_sa中创建"单元测试...",然后"运行" '在test_sa中运行单元测试...'"和在test_sa中调试'单元测试......'".所以,这一切都与unittest框架有关; py.test没什么.
如果我尝试使用"unittest"的菜单项,我会看到一个对话框,其中包含"名称","类型","测试"组框,其中包含"文件夹"和"模式","脚本"和"类" "和"功能",等等.这听起来像是为Python单元测试添加配置的对话框,而不是像应该显示的"名称"和"测试运行"和"关键字"选项在py.test对话框的配置中.对话框中没有任何内容可以切换我添加的测试框架.
我在Windows上使用PyCharm 1.5.2和Python 3.1.3以及pytest 2.0.3.我可以从命令行成功运行py.test
我的测试,所以这并不像pytest没有正确安装那么简单.
如何配置PyCharm来运行我的py.test测试?
我有一个node.js项目,其中包含一些Jasmine规范.规范位于spec /子目录中,并且具有.spec.coffee扩展名,如jasmine-node所示.
当我在WebStorm IDE中打开我的一个spec文件时,所有对beforeEach
and describe
和的调用it
都显示为带有工具提示的蓝色波浪形下划线:"未解析的函数或方法it()".因此即使我使用3.0 EAP并且它应该有一定量的Jasmine支持,它也不会自动发现这是一个Jasmine规范文件.
我尝试进入文件>设置> JavaScript库,并添加Jasmine作为库(指定jasmine-2.0.0.rc1.js的路径),然后转到Usage Scope子页面并检查"Jasmine"中的"Project"旁边的下拉列表,但没有效果 - Jasmine方法仍然显示为未解决.
如何告诉WebStorm spec子目录中的所有文件和/或扩展名为.spec.coffee的所有文件都是Jasmine测试,并让它识别那些测试正在使用的Jasmine API?
我想编写一个ViewModel,它始终知道View中某些只读依赖项属性的当前状态.
具体来说,我的GUI包含一个FlowDocumentPageViewer,它一次从FlowDocument显示一个页面.FlowDocumentPageViewer公开了两个名为CanGoToPreviousPage和CanGoToNextPage的只读依赖项属性.我希望我的ViewModel始终知道这两个View属性的值.
我想我可以使用OneWayToSource数据绑定来做到这一点:
<FlowDocumentPageViewer
CanGoToNextPage="{Binding NextPageAvailable, Mode=OneWayToSource}" ...>
Run Code Online (Sandbox Code Playgroud)
如果这是允许的,那将是完美的:每当FlowDocumentPageViewer的CanGoToNextPage属性发生更改时,新值将被推送到ViewModel的NextPageAvailable属性,这正是我想要的.
不幸的是,这不编译:我收到一个错误,说'CanGoToPreviousPage'属性是只读的,不能从标记设置.显然只读属性不支持任何类型的数据绑定,甚至不支持与该属性相关的只读数据绑定.
我可以让我的ViewModel的属性为DependencyProperties,并使OneWay绑定以另一种方式运行,但我并不为关注点分离违规而疯狂(ViewModel需要对View的引用,MVVM数据绑定应该避免).
FlowDocumentPageViewer不公开CanGoToNextPageChanged事件,我不知道从DependencyProperty获取更改通知的任何好方法,没有创建另一个DependencyProperty来绑定它,这在这里看起来有点过分.
如何让ViewModel了解视图的只读属性的更改?
我正在编写一个旨在从台式机和平板电脑上使用的网站.当从桌面访问它时,我希望屏幕的可点击区域点亮:hover
效果(不同的背景颜色等).使用平板电脑,没有鼠标,所以我不想要任何悬停效果.
问题是,当我在平板电脑上点击一些东西时,浏览器显然有某种"隐形鼠标光标",它移动到我点击的位置,然后将其留在那里 - 所以我刚刚点击的东西点亮了悬停效果,直到我点击其他东西.
我在使用鼠标时如何获得悬停效果,但在使用触摸屏时抑制它们?
如果有人想提出建议,我不想使用用户代理嗅探.同样的设备可能同时具有触摸屏和鼠标(今天可能不常见,但将来会更加如此).我对该设备不感兴趣,我对它目前的使用方式感兴趣:鼠标或触摸屏.
我已经尝试挂钩touchstart
,touchmove
和touchend
事件,并呼吁preventDefault()
对所有的人,这确实抑制"隐形鼠标"的一些时间; 但是如果我在两个不同的元素之间来回快速点击,经过几次点击它就会开始移动"鼠标光标"并点亮悬停效果 - 这就像我preventDefault
并不总是很荣幸.除非必要,否则我不会厌倦你的细节 - 我甚至不确定这是正确的方法; 如果有人有更简单的解决方案,我会全力以赴.
编辑:这可以用沼泽标准的CSS :hover
重现,但这里有一个快速的repro供参考.
<style>
.box { border: 1px solid black; width: 150px; height: 150px; }
.box:hover { background: blue; }
</style>
<div class="box"></div>
<div class="box"></div>
Run Code Online (Sandbox Code Playgroud)
如果你鼠标悬停在其中任何一个框上,它将获得我想要的蓝色背景.但是如果你点击其中任何一个盒子,它也会得到一个蓝色背景,这是我试图阻止的事情.
我还在这里发布了一个示例,它可以完成上述操作并且还可以挂钩jQuery的鼠标事件.您可以使用它来查看点击事件也会触发mouseenter
,mousemove
以及mouseleave
.
我到目前为止在Git上阅读的指南说我应该进入配置并指定我的姓名和电子邮件地址.他们没有详细说明; 他们只是说这样做.
为什么Git需要我的电子邮件地址?而且,更重要的是,如果我通过GitHub公开我的回购,我的电子邮件地址是否会被所有人(包括垃圾邮件程序员)看到?
我看过一些帖子提到npm
了-d
参数运行.例如,这个问题涉及到做npm -d install coffee-script
.还有一些其他页面也引用了这种语法,包括至少一个npm包的安装说明.
但是我一直无法找到这个-d
论点的任何文档.没有提及的文档npm install
-d
,也没有提到npm常见问题,也没有查看我查看过的任何其他文档页面.
该-d
选项可以做什么吗?如果是这样,什么?
当我使用Visual C#2010 Express时,如何使用NuGet添加库包引用?
当我在工具>扩展管理器中搜索时,NuGet没有出现.
我从下载页面下载了"NuGet Package Manager"(.vsix),但当它提示我要集成哪个版本的Visual Studio时,它只列出了Visual Web Developer Express 2010.Windows C#Express未显示.所以我想它可以在VWD中使用Silverlight,但我想在WPF中使用它.
其中一个文档页面将我链接到1.0 CTP下载页面,其中包括命令行版本的NuGet(不再出现在最新版本中).但命令行版本似乎已经瘫痪 - 它似乎支持的唯一操作是构建一个分发包; 它似乎不支持添加对库包的引用的命令.
有没有办法使用NuGet与Visual C#Express?