簡體   English   中英

是否可以語法突出顯示內聯SQL?

[英]Is it possible to syntax-highlight in-line SQL?

我經常寫一些像這樣的SQL:

string sql = @"
   -- Multi-line SQL
";

如果沒有討論這種方法是好還是壞,有人可以告訴我在Visual Studio中突出顯示這個SQL的最佳方法是什么?

我能想到的一種方法是創建單獨的.sql文件,然后在此處將其作為字符串使用,以便在編輯原始SQL時,Visual Studio會識別出這是一個SQL文件並使用語法突出顯示它。

這似乎是解決一個簡單問題的繁瑣方法。 有更簡單的解決方案嗎?

JetBrains剛剛發布了ReSharper 2016.2,它支持內聯語法高亮和intellisense用於正則表達式,html支持代碼注釋,如/*language=html*/

我發現這是一個了不起的功能,我相信它可以很容易地擴展到支持SQL和幾乎任何其他語言。

我在這里添加了一個功能請求: https//youtrack.jetbrains.com/issue/RSRP-460656

這不能回答你的問題,但我希望他們會考慮添加這樣的功能,因為內聯SQL在代碼中很常見(即使用Dapper)。

有一個Visual Studio擴展(適用於VS 2010和2012)。 它確實存在您可能想到的問題,例如在不包含SQL的字符串中突出顯示SQ:關鍵字。 根據您所做的工作類型,您可能仍然希望這不會在SQL中突出顯示。

http://visualstudiogallery.msdn.microsoft.com/a3a662c6-28eb-4de9-9a29-d328b1ac3f6b

我可以推薦的一件事是將Visual Studio中的SQL關鍵字顏色更改為普通字符串顏色的變體。 這樣,突出顯示在正確時是有用的,但是在突出顯示實際上不包含SQL的字符串中的單詞的情況下不會分散注意力。

它不會像別人告訴你的那樣起作用。 VS如何知道哪些字符串是sql,哪些不是。 如果您不想使用sql文件,您可以創建自己的文件擴展名,如“.sqlx”或其他東西,然后在VS屬性中為此擴展分配SQL編輯器,因此VS知道應用正確的顏色編碼。

然后你可以做這樣的事情:

string sql = System.IO.File.ReadAllText("your path to sql file");

它甚至可能更好,因為至少你會將SQL代碼分開。 但是,我強烈建議您查看Entity Framework或Linq-to-SQL

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM