1

私はこのような選択をフォーマットするresharperでサラウンドウィズテンプレートを作成しようとしています

string foo = "A text with spaces";

これに:

string foo = Translate("ATextWithSpaces");

自分で「スペースのあるテキスト」を選択し、サラウンドを押してショートカットを付けて、それが起こるのを見てみたいです。

を生成するテンプレートがあります

string foo = Translate("A text with spaces")

...しかし、それは私にとって十分ではありません。助言がありますか?

4

2 に答える 2

2

ReSharperプラグイン開発テリトリーに挑戦する準備ができている場合、これにより、実装に数分かかる非常に単純なプラグインが生成されます。基本的に、あなたができることは、カレットが文字列リテラル上にあるときに、そのリテラルを取り、スペースを削除し(with)、次に、たとえば、変更されたリテラルを使用して新しい式を作成するコンテキストアクションを作成するstring.Replaceことです。CSharpElementFactory.CreateExpressionAsIs("Translate($1)", x)x

これを行うことに興味があり、さらに情報が必要な場合は、質問がある場合は、遠慮なく私(skype:dmitri.nesteruk、email:dn at jetbrains dot com)に連絡してください。

于 2012-04-06T08:52:08.130 に答える
1

私のコメントを拡張する:

次のように、文字列を必要に応じてフォーマットする新しいメソッドを作成できます。

public string RemoveSpaces(string input)
{
    return new System.Globalization.CultureInfo("en-GB", false).TextInfo.ToTitleCase(input).Replace(" ", "");
}
于 2012-04-04T12:25:10.367 に答える