Visual Studio (Express) 2008 で Unix (LF) 行末を強制するにはどうすればよいですか?
-
09-06-2019 - |
質問
方法はありますか いつも Visual Studio には LF 行末がありますか?決して見つからないようです!
解決
この記事が次のような方のお役に立てば幸いです。
Visual C++ からファイルを UNIX 形式で保存する方法
残念ながら、デフォルトではこれがファイルを Unix 形式で保存する唯一の方法のようです。
個人的には、「ファイルを保存」ダイアログの「事前保存」オプションを使用しています。しかし、正直に言うと、MSVS から Unix 形式の大量のファイルを扱う必要はありません。
他のヒント
Visual Studio 2008 には、ファイルの保存時に行末形式を変換するアドインがあります。ここからダウンロードできます: http://grebulon.com/software/stripem.php
プラグインをインストールする必要はありません。述べたように ここ 行末を設定できます File -> Advanced Save options...
はい、少なくとも Visual Studio 2010 Pro では、行末を常に LF にする方法があります。
に行く Tools | Options... | Environment | Documents
次に、 ロード時に行末が一貫しているかどうかを確認する オプション。
わたしにはできる。
Visual Studio 2008 では、ソリューションを閉じた後は詳細な保存オプションが保持されません。安定して動作するのであれば、多くのファイルを手動で編集するつもりですが、VS を開くたびにすべての設定を変更するつもりはありません。
これは残念です。VS はバックエンドで希望どおりの行末を強制することをサポートしているため、UI で適切に接続されていないだけです。おそらく Microsoft はサービス パックでこれを修正するでしょう。
VS には Strip'Em というプラグインがあり、保存時にすべての行末を自動変換する新しい線種の種類を選択できます。
(LF、CRLF、CRからお選びいただけます。)
偶然方法を見つけたようで、それを修正しようとしているこの記事を見つけました(Windows CRLF EOLが必要です)。次の操作を実行すると、UNIX (LF のみ) の行末が表示されます。
SaveFileDialog^ dialog = gcnew SaveFileDialog();
System::Windows::Forms::DialogResult DR;
dialog->Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*";
dialog->FilterIndex = 2;
dialog->RestoreDirectory = true;
dialog->DefaultExt = "txt";
DR = dialog->ShowDialog(this);
if ( DR == System::Windows::Forms::DialogResult::OK )
{
// Get the page (tab) we are currently on
System::Windows::Forms::TabPage ^selPage = this->tabControl1->SelectedTab;
// Note: technically the correct way to look for our control is to use Find and search by name
// System::Windows::Forms::RichTextBox ^selText = selPage->Controls->Find("rtb", false);
// I only add one control (rich text) so first control ([0]) must be it
System::Windows::Forms::RichTextBox ^selText = safe_cast<System::Windows::Forms::RichTextBox^>(selPage->Controls[0]);
// Just let a Windows forms method do all the work
File::WriteAllText(dialog->FileName, selText->Text);
}
ツール /オプション /テキストエディター / C# / intellisense変更「キーの動作を入力:」