[英]Convert text of a C# project into 1 text file
因此,我正在执行Google Code Jam,对于新格式,我必须将代码作为单个文本文件上传。
我喜欢将代码编写为正确构造的类和多个文件,即使在时间紧迫的情况下(与浪费的时间相比,我也节省了更多的时间来保持清晰和自己的调试速度),并且我想重新使用通用代码。
完成代码后,我必须将多个文件中的一系列类转换为单个文件。
目前,我只是手动将所有文件的文本复制并粘贴到单个文件中,然后手动按摩uses和名称空间以使其全部正常工作。
有更好的选择吗? 理想的工具是JustDoIt对我有用吗? 或者,如果我可以实施一些可预测的算法,而无需进行任何手动调整?
这可能不是执行此操作的最佳方法,但这是一种可以满足您需要的算法:
using
”开始抓取using
“-”开头的每一行->将它们写入临时文件/缓冲区 namespace
”之后的第一个“ {
”的位置 }
在文件” 这是非常主观的。 我在伪代码中看到以下算法:
usingsLines = new HashSet<string>();
newFile = new StringBuilder();
foreeach (file in listOfFiles)
{
var textFromFile = file.ReadToEnd();
var usingOperators = textFromFile.GetUsings();
var fileBody = textFromFile.GetBody();
newFile+=fileBody ;
}
newFile = usingsLines.ToString() + newFile;
// As a result if will have something like this
// using usingsfromFirstFile;
// using usingsfromSecondFile;
//
// namespace FirstFileNamespace
// {
// ...
// }
//
// namespace SecondFileNamespace
// {
// ...
// }
但是请记住,如果两个不同的名称空间包含相同的类等,则此方法可能导致名称空间冲突。要解决此问题,您需要手动对其进行修复,或者避免using
运算符并在名称空间中使用全名。
另外,以下几个链接可能很有用: 合并文件 , Java中的合并文件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.