小编sti*_*g_1的帖子

如何在git中列出所有标签以及完整的消息?

我希望git列出所有标签以及完整的注释或提交消息.这样的事情很接近:

git tag -n5
Run Code Online (Sandbox Code Playgroud)

这正是我想要的,除了它只显示标签消息的前5行.

我想我可以使用非常大的数字.我在这里可以使用的最高数字是多少?每台电脑都一样吗?

更新:我有很多时间考虑这个问题,现在我认为如果它非常长,我不一定要展示整个信息.这样的事似乎适合我:

git tag -n99
Run Code Online (Sandbox Code Playgroud)

如果标签消息真的超过99行,我不想看到所有这些.但是Git极其复杂和灵活.在什么情况下,这不是最好的解决方案?我注意到许多已发布的解决方案都使用了-lotion,但这不只是指定要搜索的模式吗?

tags git git-tag

327
推荐指数
8
解决办法
13万
查看次数

git clone over https 401错误,而不是要求用户名或密码

我在Codaset上有一个私有的git存储库.通常当我尝试在我的Windows机器上通过HTTPS克隆它时,它会询问我的用户名和密码.当我尝试在Ubuntu服务器上克隆它时,它从不要求我输入用户名或密码,它失败并出现401错误.我需要做些什么不同的事情?

这是我在做的事情:

git clone https://codaset.com/username/project_name.git destination_folder_name.git
Run Code Online (Sandbox Code Playgroud)

git ubuntu https

14
推荐指数
3
解决办法
2万
查看次数

VIM - 针对PHP的ctags/Cscope更准确的替代/解决方法?

我知道可以使用Ctrl+ ]跳转到Vim中的定义,这可以与ctags或Cscope一起使用.在使用PHP时,我正在寻找更准确的替代ctags和Cscope.有时候有多种可能的结果可供选择或误报.我只是想跳到的任何光标下实际定义.理想情况下,这应该适用于变量,函数,常量和类.

我不明白为什么通过分析文件无法做到这一点.我终于通过学习和定制来克服我对Vim的所有其他烦恼/误解,所以如果我能指出这个,那就太棒了.

另外,其他人是否同意Cscope和ctags对PHP不够准确或者我做错了什么?

UPDATE

4年后,我仍在使用Vim和PHP,但仍然遇到这个问题.我尝试过eclim,ctags,exubarant-ctags,universal-ctags和cscope.我已经尝试将各种参数传递给这些程序,以使它们生成更好的标签.所有这些选择的经验都非常糟糕.

但我现在明白了这个问题.这些程序生成的标签可能没有任何问题.问题似乎是当你在Vim或Neovim中按Ctrl+ ]时,它只是按该名称查找标签.它不会查看您正在编辑的文件的上下文,以查看它应该使用的名称.它甚至不了解您正在编辑的语言,并从该语言的代码中查找标签.有没有办法根据上下文更智能地通过标签文件进行vim搜索,然后跳转到最可能的位置?你知道,好像在一个好的IDE里会发生什么?

php vim ctags cscope

13
推荐指数
1
解决办法
4125
查看次数

是否可以在一个表中创建两个主键?

嗨,我想知道是否可以在MySQL的一个表中创建两个主键.如果是这样,请解释这背后的概念.我问,因为我看过一个表,其中有两个主键没有设置自动增量.

mysql

8
推荐指数
1
解决办法
5515
查看次数

反转C#字符串中所有字母字符的大小写

在C#字符串中反转所有字母字符大小写的最简单方法是什么?例如"aBc1 $;" 应该成为"AbC1 $;" 我可以轻松编写一个执行此操作的方法,但我希望有一个我不知道的库调用会使这更容易.我还想避免列出所有已知的字母字符,并将每个字符与列表中的字符进行比较.也许这可以用正则表达式完成,但我不太了解它们.谢谢.

谢谢您的帮助.我为此创建了一个字符串扩展方法,其主要灵感来自Anthony Pegram的解决方案,但没有LINQ.我认为这在可读性和性能之间取得了很好的平衡.这就是我想出的.

public static string SwapCase(this string source) {
    char[] caseSwappedChars = new char[source.Length];
    for(int i = 0; i < caseSwappedChars.Length; i++) {
        char c = source[i];
        if(char.IsLetter(c)) {
            caseSwappedChars[i] =
                char.IsUpper(c) ? char.ToLower(c) : char.ToUpper(c);
        } else {
            caseSwappedChars[i] = c;
        }
    }
    return new string(caseSwappedChars);
}
Run Code Online (Sandbox Code Playgroud)

c# regex case-sensitive

7
推荐指数
2
解决办法
6843
查看次数

matchstr 与 vimscript 中的正则表达式不匹配

下面的 vimscript 代码在一个函数内并且没有匹配,我不明白为什么。

let curLine= '[exec] setup/src/LinkedList.cs(6,15): warning CS0659:'
echo curLine
let matchs= matchstr(curLine,'[(][0-9]+[,][0-9]+[)]')
if matchs == ''
    echo 'no match'
    return
endif
echo 'match found'
Run Code Online (Sandbox Code Playgroud)

当我在 Vim 中运行该函数时,回显了“不匹配”。我究竟做错了什么?我尝试使用http://regexpal.com/测试这个正则表达式,它似乎按我期望的方式工作(突出显示了里面的行和字符号的括号)

regex vim

6
推荐指数
1
解决办法
3244
查看次数

C# 比较 float 和 int

我已经看到这段代码在 intertubes 上浮动,用于确定 Windows Mobile 设备是否具有 VGA 屏幕(代码位于 Form 类的方法中):

SizeF currentScreen = this.CurrentAutoScaleDimensions;
bool isVGA = currentScreen.Height == 192;
Run Code Online (Sandbox Code Playgroud)

即使屏幕是 VGA,因为浮点不精确(高度属性是浮点数),isVGA 是否有可能设置为 false?

c# floating-point compact-framework windows-mobile

5
推荐指数
1
解决办法
1856
查看次数

如何指定 NUnit 测试应该失败?

有没有办法指定您希望 NUnit 测试失败,这意味着失败应报告为通过,而通过应报告为失败?这在测试您自己的 NUnit 扩展时非常有用。这是我希望能够做的事情的一个例子:

[Test]
[ExpectFail]
public void TypeOf_fail() {
    string str = "abc";
    str.Should().Be.TypeOf<int>();
}
Run Code Online (Sandbox Code Playgroud)

这不会编译,因为 [ExpectFail] 是一个虚构的属性,用于说明我想要做什么,但方法内的代码工作正常。此问题特定于测试 NUnit 扩展,因为您通常可以轻松编写测试以通过,而不是失败。在这种情况下,您需要证明可以使用您正在测试的 NUnit 扩展编写失败的测试。

nunit

5
推荐指数
1
解决办法
5522
查看次数

为什么在调用未定义函数时没有PHP错误?

每当调用未定义的函数时,都不会记录错误.而是脚本停止执行.更糟糕的是,如果我运行php -l filename.php,它会显示没有语法错误.我正在使用自定义错误处理程序函数,但即使是第一行也永远不会到达.

当调用未定义的函数时,如何让它运行我的错误处理程序?

我使用的是PHP 5.3.2-1.以下是设置错误处理程序的代码:

error_reporting(-1);
$old_error_handler = set_error_handler( "userErrorHandler" );
set_exception_handler('exception_handler');
Run Code Online (Sandbox Code Playgroud)

虽然它们确实适用于其他错误,但都没有到达错误处理程序和异常处理程序.

我想要这个的原因是我最终不得不在我的代码中放置调试语句以查看它在停止执行之前得到多远这是一个缓慢的过程,而错误消息会告诉我错误信息的文件和行号.

php error-reporting

5
推荐指数
1
解决办法
3311
查看次数

如何根据设备更改输出文件夹

首先,我将从我想要完成的任务开始,然后我将提供上下文详细信息:

当我选择开始调试时,我希望输出目录发生变化,具体取决于通过Windows Mobile Device Center连接的设备.澄清:从我们的安装程序安装工作正常,但从Visual Studio调试是给我带来问题的.

我正在使用Visual Studio 2008.该项目是一个用C#编写的用于Compact Framework 3.5的智能设备项目,目标是Windows Mobile 5.0 Pocket PC Device R2(根据项目设置).我发现当我定位此设备类型时,它可以在我们支持的所有Windows Mobile版本上正常工作.任何建议的解决方案都必须适用于Windows Mobile和Windows CE.

当我进入项目属性,并转到设备选项卡时,它显示输出文件文件夹:和输出的路径.如果我单击...按钮,我可以将其更改为不同的默认值,甚至将其设置为根文件夹,然后完全指定我想要的确切路径作为子目录.在大多数设备上,如果我将它保留在(设备默认值)或从下拉列表中选择程序文件文件夹,它可以正常工作.问题是当它在Windows CE设备上运行时,我们支持它需要从不同的位置运行.

可能的解决方案:

多项目解决方案:为不同的设备提供多个项目.这个问题是我不知道怎么做而不违反DRY原则,因为某些文件需要包含在输出中,我不想在不同的Start项目之间来回切换.

重新定义%CSIDL_PROGRAM_FILES%解决方案:更改%CSIDL_PROGRAM_FILES%含义,因为这可以在指定Program Files所在位置的输出路径中.但是,我不知道这是否可能或从哪里开始尝试这个.我想也许这将在设备注册表中定义,但我找不到它.

自定义路径变量解决方案:选择根文件夹,然后在子目录下以某种方式引用变量(可能通过以%?开头和结尾?)在我可以更改为我需要的路径中(可能来自后期构建或预部署(如果有这样的事情)脚本).我不知道这是否可能或从哪里开始.

任何帮助将不胜感激,谢谢!

编辑:

在做了一些挖掘后,我最好的猜测是%CSIDL_PROGRAM_FILES%Windows CE环境变量.我仍然不知道是否可以创建或修改这些.

compact-framework environment-variables windows-mobile-5.0 windows-ce visual-studio-2008

5
推荐指数
1
解决办法
5833
查看次数