2013-03-08 63 views
5

我正在研究一个真正大型的多语言项目(1000+课程+配置+脚本),并通过网络驱动器分发文件。由于可用的工具无法帮助,因此我无法通过代码进行攻击。主要问题是找到东西。对于C++部分:VS with VAX只能找到解决方案中的文件和符号。他们中的很多人都没有。与Reshaper同样的问题。现在,我一直坚持使用无索引的字符串和文件搜索,这在网络驱动器上效率非常低。我听说SourceInsight将是一个选项,因为它允许您只指定属于该项目的一部分的文件夹,而不是索引它们,但是我的公司不会花钱购买它。处理真正大型的多语言项目

所以我的问题是:有什么工具可以通过令人难以置信的大量代码进行战斗?如果可能的话,他们应该是低成本甚至免费/开源的。

+0

请问您为什么不考虑在您的公司使用源代码管理系统(Subversion,Git,TFS等),而不是访问通过网络驱动器分发的文件? – 2013-03-12 11:01:59

+0

它使用这样一个系统。但“观点”从来不是局部的)。 – 2013-03-12 12:05:26

+0

如果您将当前文档或当前解决方案的“查找”选项更改为目录集(并指定一个或多个网络路径),则VS可搜索所有网络可定位文件。请注意,通过网络搜索文件比在本地HD上搜索文件要慢,耗时更多。 – StarPilot 2013-03-12 16:00:05

回答

6

退房 -

  1. ctags
  2. cscope
  3. idutils
  4. snavigator

在这些工具的每一个中,您都必须花费一些时间来阅读文档,然后构建索引。考虑切换到可以使用这些工具的编辑器。

(*):我的意思是invest,因为一旦你做了,它就会获得红利。

希望这有助于

+0

到目前为止,我试图使用snavigator。在索引过程中,它会在一段时间后崩溃。接下来会尝试其他人。 – 2013-03-18 08:54:03

+1

如果你喜欢cscope和ctags,你可能会对[CodeQuery](https://github.com/ruben2020/codequery)感兴趣。它利用了cscope和ctags的数据库。免责声明:这是我的开源项目。 – ruben2020 2013-06-06 13:24:55

3

如果你需要保持大量的代码,你真的应该有一个源代码同治系统,很多人会帮助你通过索引的所有文件

,其中大部分将与查找文本各种语言。

否则,你可以安装一些索引,比如Apache Lucene和索引的所有文件...

+0

该公司正在使用源代码管理系统。但是使用的并不提供索引搜索。问题与Apache lucine(我认为你的意思solr,因为lucine只是图书馆,据我了解),这是一个基于服务器的解决方案,我正在寻找本地的东西。 – 2013-03-13 08:39:53

2

你应该看看LXR。这被许多Linux内核源码列表使用。

1

VS和VAX只能找到解决方案中的文件和符号。他们中的很多人都没有。

您可以添加所有不在解决方案中的文件,并将它们设置为不在设置中生成。你的VS版本不会受到这个影响,但现在VS知道这些文件,你可以在VS本机文件中搜索它们。

2

尝试ndexer http://code.google.com/p/ndexer/

承诺处理非常大的代码库!

+0

我试过了。它在当前版本中不起作用。单击配置确定按钮后,应用程序会关闭而不开始索引。 – 2013-03-19 07:41:10

+0

我联系了该程序的开发人员,他的程序显然不能在网络驱动器上工作:-(。 – 2013-03-19 14:30:45

2

Perl程序ack也值得一看 - 把它想象成多文件grep类固醇。新版本(我称之为后期测试版)甚至可以指定要处理的文件的正则表达式以及正则表达式来搜索 - 自从它出来后我广泛使用的一个功能(我有一个子项目,在300+课程中有30K行,这个功能非常有用)。您甚至可以将新的ack链接到自己,以便您可以选择要处理的文件。

+0

有趣的想法,我会研究这一点。但我看到这个解决方案的问题是,它没有索引搜索。所以它可能会在本地硬盘上运行良好,但在网络驱动器上它仍然会很慢。 – 2013-03-19 07:46:10