[英]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.